cURL / Mailing Lists / curl-library / Single Mail


Re: libcurl + libevent2: Stalling if no data is received/written [new timeout patch]

From: Daniel Stenberg <>
Date: Tue, 31 Aug 2010 23:56:46 +0200 (CEST)

On Tue, 31 Aug 2010, Dirk Manske wrote:

> Yes sure, it does. But it's nothing new. I've reported that behaivor in my
> both mails before.

> But I got a little different behaivor, after the 4s count down is gone, curl
> returns -1 instead of ~4000

Exactly, and that's what I fixed as that was an obvious bug.

> Also I think, it should start with ~7000 because the connection was already
> done.

No, it can't do that. As we already have discussed, libcurl currently has no
way to cancel one of its internal timeouts so if we use a connect timeout at 3
seconds and a global timeout at 10, there are two timeouts set so even if the
connect succeeds the first timeout will expire after three seconds.

The only effect an expired timout has is that libcurl gets called again and
that's a fairly cheap operation.

> Uhhh, with hiperfifo it gets worser. Now also the connect timeout doesn't
> work anymore (which was ok before, e.g. in 7.21.1).

Yeah, thanks for trying that. I didn't do the tests with multi_socket
yesterday when I commmitted that work but saved it for today. It does indeed
not behave correctly and I'm on the case now...

List admin:
Received on 2010-08-31