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 |
|
|
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(); |
414 |
< |
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 |
|
} |