| 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"; |
| 75 |
|
else { |
| 76 |
|
$delay = $next_tcp; |
| 77 |
|
} |
| 78 |
< |
`sleep $delay`; |
| 78 |
> |
sleep $delay; |
| 79 |
|
} |
| 80 |
|
|
| 81 |
|
# we'll probably never get here... |
| 90 |
|
#----------------------------------------------------------------------- |
| 91 |
|
sub wait_then_retry() { |
| 92 |
|
print "Will retry configuration with filter manager in $retry_wait seconds.\n"; |
| 93 |
< |
`sleep $retry_wait`; |
| 93 |
> |
sleep $retry_wait; |
| 94 |
|
} |
| 95 |
|
|
| 96 |
|
|
| 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 |
|
} |