cURL / Mailing Lists / curl-library / Single Mail

curl-library

Multi interface ignores CURLOPT_TIMEOUT when CURLOPT_NOSIGNAL is used

From: Christopher Palow <cpalow_at_facebook.com>
Date: Fri, 16 May 2008 17:36:54 -0700

Hi all,

Is the CURLOPT_TIMEOUT option on an easy handle supposed to be obeyed when
CURLOPT_NOSIGNAL is enabled?

I actually don't have a threaded program so I'm turning signals back on now,
but I figure most people using the multi interface also use threads.

When I detect the timeout on my own I notice it's not in the timeout splay
tree at all:

(gdb) print ((struct SessionHandle *)(conn->easy))->state.expiretime
$12 = {tv_sec = 0, tv_usec = 0}

If I kick the transfer with curl_multi_socket(multi_handle,
CURL_SOCKET_TIMEOUT) nothing happens.

However, if I kick the transfer with curl_multi_socket_action on the easy
handle that's timed out, libcurl will detect the timeout.

Thoughts?

Chris Palow
Received on 2008-05-17