mirror of
https://github.com/curl/curl.git
synced 2026-08-24 12:03:34 +03:00
curl: fix --upload-file . hangs if delay in STDIN
Attempt to unpause a busy read in the CURLOPT_XFERINFOFUNCTION. When uploading from stdin in non-blocking mode, a delay in reading the stream (EAGAIN) causes curl to pause sending data (CURL_READFUNC_PAUSE). Prior to this change, a busy read was detected and unpaused only in the CURLOPT_WRITEFUNCTION handler. This change performs the same busy read handling in a CURLOPT_XFERINFOFUNCTION handler. Fixes #2051 Closes #4599 Reported-by: bdry on github
This commit is contained in:
parent
7cf18b05e0
commit
9a2cbf30b8
6 changed files with 63 additions and 4 deletions
|
|
@ -29,4 +29,12 @@
|
|||
|
||||
size_t tool_read_cb(void *buffer, size_t sz, size_t nmemb, void *userdata);
|
||||
|
||||
/*
|
||||
** callback for CURLOPT_XFERINFOFUNCTION used to unpause busy reads
|
||||
*/
|
||||
|
||||
int tool_readbusy_cb(void *clientp,
|
||||
curl_off_t dltotal, curl_off_t dlnow,
|
||||
curl_off_t ultotal, curl_off_t ulnow);
|
||||
|
||||
#endif /* HEADER_CURL_TOOL_CB_REA_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue