BTW: Can someone tell me why HTTP::Daemon, under stress-test, after a couple of hundred/thousand requests simply silently exits? With the client telling me "apr_socket_recv: Connection reset by peer (104)"?? (command ab -c 50 -n 5000 http://localhost:4242/ never reaches the 5000, always breaks at ~4800..)
What can I use to debug exits which do not produce an error? | [reply] |
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.
| [reply] [d/l] |
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?
| [reply] [d/l] |