easy: do not ignore poll() failures other than EINTR
This commit is contained in:
parent
83a42ee20e
commit
491e026ccd
@ -53,6 +53,7 @@ This release includes the following bugfixes:
|
||||
o docs: updates HTML index and general improvements
|
||||
o curlbuild.h.dist: enhance non-configure GCC ABI detection logic
|
||||
o sasl: Fixed null pointer reference when decoding empty digest challenge [8]
|
||||
o easy: do not ignore poll() failures other than EINTR
|
||||
|
||||
This release includes the following known bugs:
|
||||
|
||||
|
12
lib/easy.c
12
lib/easy.c
@ -441,11 +441,19 @@ CURLcode curl_easy_perform(CURL *easy)
|
||||
|
||||
while(!done && !mcode) {
|
||||
int still_running;
|
||||
int ret;
|
||||
|
||||
mcode = curl_multi_wait(multi, NULL, 0, 1000, NULL);
|
||||
mcode = curl_multi_wait(multi, NULL, 0, 1000, &ret);
|
||||
|
||||
if(mcode == CURLM_OK) {
|
||||
if(ret == -1) {
|
||||
/* poll() failed not on EINTR, indicate a network problem */
|
||||
code = CURLE_RECV_ERROR;
|
||||
break;
|
||||
}
|
||||
|
||||
if(mcode == CURLM_OK)
|
||||
mcode = curl_multi_perform(multi, &still_running);
|
||||
}
|
||||
|
||||
/* only read 'still_running' if curl_multi_perform() return OK */
|
||||
if((mcode == CURLM_OK) && !still_running) {
|
||||
|
Loading…
Reference in New Issue
Block a user