Subject: | TL1::Base::get_resp looping |
The issue I was trying to debug in TL1.pm was in interacting
with Tellabs' EMS. if the EMS has too many connections, or
is out of resources, it will accept() the request from the
client, and then close the socket. in TL1.pm, this threw the
listener thread into a tizzy. in TL1ng , this results in
TL1ng::Source::Telnet getting an EOF, and disconnecting
the source. TL1ng::Base->get_resp then loops, trying to read
from the disconnected source until timeout is reached.
I've added a
last unless $self->source->connected();
inside the while loop to jump out of the loop.
In my POE application, the child process would fall into this
loop , and send up a message on STDERR that the socket was
no longer connected each trip around the loop. the main
POE state machine in the main process would choke on all these
debug messages, and hang until the child was kill'ed.