in reply to Re: HTTP::Daemon not working in threads?
in thread HTTP::Daemon not working in threads?

Thank you for the reply.

I was just trying to not "reinvent the wheel". 

I now believe that HTTP::Daemon, and probably the entire
LWP library do not work properly in threads, at least on
Windows, for one reason or another :(.

I wanted to use HTTP::Daemon so I can access get_request
and the corresponding HTTP::Request returned object.
Similarily for the send side. The IO::Socket::INET is lower
level and I need to "reinvent the wheel" and receive
and parse the headers and possibly data in POST
request. Basically re-doing the get_request.

Is $sock->recv() less blocking than $sock->read?
I think that $sock->recv() loop to receive the data as in
your example might go into CPU loop waiting for data.
$sock->read() might not but sometime is blocking too much.
I think if I use threads I can let socket read/write block,
but I must find the right number of bytes to read first,
might be impossible as in waiting for enf-of-http-header mark.

JM.
  • Comment on Re: Re: HTTP::Daemon not working in threads?