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 |
|
} |