1
);
#print "Creating connection ".$self->{sessions}->[-1]->session_id." ...\n";
- $log->debug("Creating connection ".$self->{sessions}->[-1]->session_id." ...");
+ $log->debug(sub{return "Creating connection ".$self->{sessions}->[-1]->session_id." ..." });
}
return $self;
params => [@params]
};
- $log->debug("Making request [$method] ".$self->running."...");
+ $log->debug(sub{return "Making request [$method] ".$self->running."..." });
return $req;
} elsif (!$self->adaptive) {
}
sub session_reap {
+ my $self = shift;
+ $self->_session_reap;
+
+ # if any requests are marked complete as a side effect of
+ # _session_reap, re-run _session_reap. note that we check
+ # for completeness without touching the underlying socket
+ # (req->{complete} vs req->complete) to avoid additional
+ # unintended socket-touching side effects.
+ while (grep { $_->{req}->{complete} } @{$self->{running}}) {
+ $self->_session_reap;
+ }
+}
+
+sub _session_reap {
my $self = shift;
my @done;
push @done, $req;
} else {
- #$log->debug("Still running ".$req->{meth}." in session ".$req->{req}->session->session_id);
+ #$log->debug(sub{return "Still running ".$req->{meth}." in session ".$req->{req}->session->session_id });
push @running, $req;
}
}