in reply to Re^4: Strange blocking issue with HTTP::Daemon
in thread Strange blocking issue with HTTP::Daemon

Can someone tell me why HTTP::Daemon, under stress-test, after a couple of hundred/thousand requests simply silently exits?....What can I use to debug exits which do not produce an error?

That is what its programmed to do. See while condition while (my $c = $d->accept) { accept, like every function can fail, and once it fails, it exits the loop and your program ends.

If you want to know why it ended, you'll have to check $!/$^E or poke around your HTTP::Daemon instance, maybe turn on $HTTP::Daemon::DEBUG...

or since connections can be reset for any reason, simply handle the error by restarting the accept loop.

Replies are listed 'Best First'.
Re^6: Strange blocking issue with HTTP::Daemon
by isync (Hermit) on Aug 12, 2010 at 10:07 UTC
    it exits the loop and your program ends

    Not quite, for example adding another simple step like a print "loop exited\n"; after the while loop never gets executed. So I can't even poke around by polling the error variables. And $DEBUG didn't help.
    Anyone?
      Hi, i have the same problem here. Loop around the accept-loop does not work. My Server delivers an KML for GE. HTTP::Daemon exits especially when GE is started after the ServerApp. If i start GE first, it more stable. Regards, Joe