diff options
Diffstat (limited to 'lib/easy.c')
-rw-r--r-- | lib/easy.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/easy.c b/lib/easy.c index 2aca93845..349802a67 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -1087,14 +1087,16 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action) /* if not pausing again, force a recv/send check of this connection as the data might've been read off the socket already */ data->conn->cselect_bits = CURL_CSELECT_IN | CURL_CSELECT_OUT; - if(data->multi) - Curl_update_timer(data->multi); + if(data->multi) { + if(Curl_update_timer(data->multi)) + return CURLE_ABORTED_BY_CALLBACK; + } } if(!data->state.done) /* This transfer may have been moved in or out of the bundle, update the corresponding socket callback, if used */ - Curl_updatesocket(data); + result = Curl_updatesocket(data); return result; } |