From: Jay Satiro Date: Tue, 15 Oct 2019 19:12:31 +0000 (-0400) Subject: CURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time X-Git-Tag: curl-7_67_0~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ce07f0b8a1ca91301f7fc79b5b0af95ed41bfd11;p=thirdparty%2Fcurl.git CURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time Prior to this change some users did not understand that the "request" starts when the handle is added to the multi handle, or probably they did not understand that some of those transfers may be queued and that time is included in timeout. Reported-by: Jeroen Ooms Fixes https://github.com/curl/curl/issues/4486 Closes https://github.com/curl/curl/pull/4489 --- diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT.3 index 1cd122df25..6de808257f 100644 --- a/docs/libcurl/opts/CURLOPT_TIMEOUT.3 +++ b/docs/libcurl/opts/CURLOPT_TIMEOUT.3 @@ -40,11 +40,12 @@ In unix-like systems, this might cause signals to be used unless If both \fICURLOPT_TIMEOUT(3)\fP and \fICURLOPT_TIMEOUT_MS(3)\fP are set, the value set last will be used. -Since this puts a hard limit for how long time a request is allowed to take, -it has limited use in dynamic use cases with varying transfer times. You are -then advised to explore \fICURLOPT_LOW_SPEED_LIMIT(3)\fP, -\fICURLOPT_LOW_SPEED_TIME(3)\fP or using \fICURLOPT_PROGRESSFUNCTION(3)\fP to -implement your own timeout logic. +Since this option puts a hard limit on how long time a request is allowed to +take, it has limited use in dynamic use cases with varying transfer times. That +is especially apparent when using the multi interface, which may queue the +transfer, and that time is included. You are advised to explore +\fICURLOPT_LOW_SPEED_LIMIT(3)\fP, \fICURLOPT_LOW_SPEED_TIME(3)\fP or using +\fICURLOPT_PROGRESSFUNCTION(3)\fP to implement your own timeout logic. .SH DEFAULT Default timeout is 0 (zero) which means it never times out during transfer. .SH PROTOCOLS