curl-library
Re: DNS lookup freezes easy handles (multi interface)
Date: Mon, 19 May 2008 10:57:13 +0200 (CEST)
On Sat, 17 May 2008, Daniel Stenberg wrote:
> I tried this last night with 5 links to a Swedish news paper site, but
> annoyingly I instead got a different problem in my face. Repeatedly. (I get
> a CURLE_BAD_SOCKET because I've I've removed a socket from libevent, I get a
> notification from livevent that there was action on the removed socket and
> when I pass that to libcurl it legitimately returns error). So now I'll
> first need to see if I can understand and fix this issue and then proceed
> and see if your issue will repeat in my end.
Status update:
I'm now quite convinced that I'm seeing at least two problems.
First a problem that was introduced with the fixed pipelining code, as the
regular case now goes into the WAITDO state which it really has no reason to
do and in that state it has no socket to check for and then the app gets told
to remove the check for that socket.
A related bug seems to be that when I fix the code to go straight to the DO
state when not pipelining, the multi_getsock() code will not return a socket
to wait for there and apparently not in the DOING state either for HTTP and
only partly for HTTPS. I'm a bit in shock over this as I don't understand why
we haven't seen downsides from this in the past, but I'll continue to dig
around and see if this is valid conclusions or if I maybe just have been too
tired lately when I've worked on this.
-- / daniel.haxx.seReceived on 2008-05-19