1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-23 16:48:49 -05:00

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
This commit is contained in:
Jay Satiro 2019-10-15 15:12:31 -04:00
parent fe5c2464db
commit ce07f0b8a1

View File

@ -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 If both \fICURLOPT_TIMEOUT(3)\fP and \fICURLOPT_TIMEOUT_MS(3)\fP are set, the
value set last will be used. value set last will be used.
Since this puts a hard limit for how long time a request is allowed to take, Since this option puts a hard limit on how long time a request is allowed to
it has limited use in dynamic use cases with varying transfer times. You are take, it has limited use in dynamic use cases with varying transfer times. That
then advised to explore \fICURLOPT_LOW_SPEED_LIMIT(3)\fP, is especially apparent when using the multi interface, which may queue the
\fICURLOPT_LOW_SPEED_TIME(3)\fP or using \fICURLOPT_PROGRESSFUNCTION(3)\fP to transfer, and that time is included. You are advised to explore
implement your own timeout logic. \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 .SH DEFAULT
Default timeout is 0 (zero) which means it never times out during transfer. Default timeout is 0 (zero) which means it never times out during transfer.
.SH PROTOCOLS .SH PROTOCOLS