multi: set timeouts when transfer begins
authorDaniel Stenberg <daniel@haxx.se>
Sat, 28 Aug 2010 22:16:34 +0000 (00:16 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 28 Aug 2010 22:16:34 +0000 (00:16 +0200)
When a new transfer is about to start we now set the proper timeouts to
expire for the multi interface if they are set for the handle. This is a
follow-up bugfix to make sure that easy handles timeout properly when
the times expire and the multi interface is used. This also improves
curl_multi_timeout().

lib/transfer.c

index 99a6261..71fb396 100644 (file)
@@ -1433,6 +1433,12 @@ CURLcode Curl_pretransfer(struct SessionHandle *data)
   Curl_initinfo(data); /* reset session-specific information "variables" */
   Curl_pgrsStartNow(data);
 
+  if(data->set.timeout)
+    Curl_expire(data, data->set.timeout);
+
+  if(data->set.connecttimeout)
+    Curl_expire(data, data->set.connecttimeout);
+
   return CURLE_OK;
 }