cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: "is at send pipe head!" ??

From: Paul Harris <harris.pc_at_gmail.com>
Date: Thu, 19 Aug 2010 17:48:02 +0800

On 15 August 2010 04:25, Daniel Stenberg <daniel_at_haxx.se> wrote:

> On Fri, 13 Aug 2010, Paul Harris wrote:
>
> I've just built libcurl 7.21.1 via Makefile.vc9, with zlib and SSPI, but
>> no
>> SSL. I'm using MSVC90.
>>
>> Now when my app (which didn't change) tries to retrieve requests from a
>> URL,
>> I get these weird messages:
>>
>> CURL: INFO Expire cleared
>> CURL: INFO 0xdc1fd0 is at send pipe head!
>>
>
> These messages don't really imply anything wrong, they are more like debug
> message leftovers that will be removed one day.
>
> Can you please be a lot more specific about what you're doing and what
> isn't working?
>
>
I recompiled libcurl and curl (with debug-zlib, release-zlib as static /MT
builds, as I need to deploy easily).

curl.exe works fine - it retrieves webpages as expected.

My code was not doing the same... So I began to trace.

I am using the curl_multi_perform() mechanism, and using select() to wait
for action, with a timeout of 1 second. I was NOT calling
curl_multi_perform() after select() timed out, I was just calling select()
again until I got some action or gave up after 60 seconds. Tracing in the
code, it appears that it never notified select of action after it did the
DNS lookup, so it was getting stuck after the DNS lookup.

I reread the documentation and am still not clear on exactly what I should
be doing... I now call curl_multi_perform() whether select() timed out or
saw some action.

Should I even be using curl_multi_perform ? I tried looking for some code
with google, and found this bug suggesting its buggy:
https://trac.transmissionbt.com/ticket/1844

Also, I am now using curl_multi_timeout() to specify to select how long to
wait. BUT, there seems to be a problem with the documentation and code.
 Both the code and documentation suggest that it will return MILLIseconds,
however I am seeing timeout values of 300,000 which look a lot like
MICROseconds to me... and that is consistent with the timeval struct, which
has a member for seconds, and tv_usec ie microseconds... not milliseconds.

thanks
Paul

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2010-08-19