diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2019-11-08 23:07:55 +0100 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2019-11-10 16:48:47 +0100 | 
| commit | 32747aafa059a2c3a5e02e42df1bcedcf8b93285 (patch) | |
| tree | a9cc5551d8e23f9f9872654c65dc26c9aeef8b71 | |
| parent | 07cf042ececdcdc2b731c7a2040a48f21dde85b6 (diff) | |
pause: avoid updating socket if done was already called
... avoids unnecesary recursive risk when the transfer is already done.
Reported-by: Richard Bowker
Fixes #4563
Closes #4574
| -rw-r--r-- | lib/easy.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/easy.c b/lib/easy.c index 001648d49..fc5eceb6a 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -1027,9 +1027,10 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)        Curl_update_timer(data->multi);    } -  /* This transfer may have been moved in or out of the bundle, update -     the corresponding socket callback, if used */ -  Curl_updatesocket(data); +  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);    return result;  }  | 
