45 |
|
$filter_manager_port = $ARGV[1]; |
46 |
|
|
47 |
|
$seq_no = 1; |
48 |
< |
$retry_wait = 6; |
48 |
> |
$retry_wait = 60; |
49 |
|
|
50 |
|
# write our PID to a file |
51 |
|
$pidfile = "/var/tmp/ihost.pid"; |
283 |
|
} |
284 |
|
$disk_info .= "</disk>"; |
285 |
|
|
286 |
< |
my($ip) = inet_ntoa(scalar(gethostbyname(hostname())) || 'localhost'); |
286 |
> |
my($ip); |
287 |
> |
$ip = inet_ntoa(scalar(gethostbyname(hostname())) || 'localhost') or $ip = 'localhost'; |
288 |
|
|
289 |
|
# Build the XML packet this way, as we can clearly |
290 |
|
# see the structure and contents... I like this ;-) |
361 |
|
# send_tcp_heartbeat |
362 |
|
# Establishes a TCP connection to an i-scream filter. |
363 |
|
# The heartbeat is used as a guaranteed "I'm alive" delivery mechanism. |
364 |
+ |
# If we need to reconfigure, then we complete the heartbeat before |
365 |
+ |
# doing so. |
366 |
|
#----------------------------------------------------------------------- |
367 |
|
sub send_tcp_heartbeat() { |
368 |
|
|
369 |
+ |
my ($doReconfigure) = 0; |
370 |
+ |
|
371 |
|
my($sock) = new IO::Socket::INET( |
372 |
|
PeerAddr => $filter_addr, |
373 |
|
PeerPort => $tcp_port, |
414 |
|
if ($response eq "ERROR\n") { |
415 |
|
close($sock); |
416 |
|
print "Server configuration changed. Reconfiguring with filter manager.\n"; |
417 |
< |
&tcp_configure(); |
413 |
< |
return; |
417 |
> |
$doReconfigure = 1; |
418 |
|
} |
419 |
|
if (!$response eq "OK\n") { |
420 |
|
close($sock); |
434 |
|
|
435 |
|
close($sock); |
436 |
|
print "^"; |
437 |
+ |
|
438 |
+ |
&tcp_configure() if $doReconfigure; |
439 |
|
|
440 |
|
return; |
441 |
|
} |