-# $Id: IRSpy.pm,v 1.75 2007-03-09 08:56:37 mike Exp $
+# $Id: IRSpy.pm,v 1.77 2007-03-15 11:36:58 mike Exp $
package ZOOM::IRSpy;
# Since IRSpy can run for a long time between writes back to the
# database, it's quite possible for the server to have closed the
# connection as idle. So re-establish it if necessary.
- $conn->connect($conn->option("host"));
+ $this->{conn}->connect($conn->option("host"));
_really_rewrite_record($this->{conn}, $rec);
$conn->log("irspy", "rewrote XML record");
$conn->log("irspy", "has no more tests: removing");
$this->_rewrite_record($conn);
$conn->option(rewrote_record => 1);
- $conn->destroy();
if (@{ $this->{queue} } == 0) {
+ # Do not destroy: we need this for later sanity checks
splice @conn, $i0, 1;
} else {
+ $conn->destroy();
$conn[$i0] = create
ZOOM::IRSpy::Connection($this,
shift @{ $this->{queue} }, async => 1);
}
$this->log("irspy", "exiting main loop");
+
# Sanity checks: none of the following should ever happen
my $finished = 1;
- @conn = @{ $this->{connections} };
+ $this->log("irspy", "performing end-of-run sanity-checks");
foreach my $conn (@conn) {
my $test = $conn->option("current_test_address");
my $next = $this->_next_test($test);