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

Anonymous Monk is recurring to the bugs filed for libwww-perl in relation to blocking/nonblocking sockets as the underlying logic for HTTP::Daemon, right?

Why don't you ask him? Oh wait, he won't be recurring your understanding.... the advice is for you to make an official bug report

So the dirty solution is brute forcing a "Connection:close" (by using $c->force_last_request;) after each response, effectively what HTTP/1.0 does and HTTP/1.1 should supersede, right?

Nothing dirty about it, its a working solution.

To aid investigation in the "what the OS does" corner, I'd like to add that I've seen this behavior on Linux/libwww-perl and Win32/libwww-perl clients. The common denominator really seems to be libwww-perl, which seems to run into these dead-locks after a number of successful requests or right away.

Try a python WWW client with keep-alive and you should observe the same behaviour when you use a browser to effectively steal the socket

P.S. There is no need for small-font footnotes, I almost mistook yours for a signature.

  • Comment on Re^2: Strange blocking issue with HTTP::Daemon