cURL / Mailing Lists / curl-library / Single Mail


Re: Problems with curl 7.10.1 and the multi interface

From: Daniel Stenberg <>
Date: Fri, 18 Oct 2002 09:25:18 +0200 (MET DST)

On Thu, 17 Oct 2002, Fabrizio Ammollo wrote:

> 1) If I try to connect to my own web server, which is not active, or to any
> other closed port, instead of failing because of "connection refused", my
> program hangs forever on the select system call.

There was a bug in the check-for-connect function that caused this and that
has been fixed in CVS:

> 2) I tried connecting, as a test, to, and I have seen
> that if I don't specify the option to follow HTTP redirects the transfer is
> considered finished but the file is empty. This is fine. But, if I specify
> to follow the redirects, the execution of the program continues until the
> max fd set by curl_multi_fdset is -1, and then (obviously) hangs.

Oh. The 7.10.1 was the first version in which the multi interface attempts to
follow locations when told, so I bet there's a bug or two in that code.

I think you'd be better off using gdb instead of strace. I would too, as
talking function names and variables' contents are easier than weird strace

> Then, I have one doubt, too: is it correct for libcurl to "wake up" so much
> my program even if no data is really transferred ?

How do you mean? How does libcurl "wake up" ? Don't you select() on file


> I think the reason is that the socket is checked for writing even if this
> could not be really needed.. am I right ?

If you're right, then this is a bug.

> I think it is not a good thing, because the applications are called too
> many times for no valid reason.

That's stupid, indeed.

> Another doubt, not really related to libcurl, is the following: is there a
> known reason why I am not able to strace the execution of my program when
> using https ?

Not that I know of.

 Daniel Stenberg -- curl, cURL, Curl, CURL. Groks URLs.
This email is sponsored by:ThinkGeek
Welcome to geek heaven.
Received on 2002-10-18