aboutsummaryrefslogtreecommitdiff
path: root/lib/easy.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2013-07-23 13:35:57 +0200
committerDaniel Stenberg <daniel@haxx.se>2013-07-29 14:37:08 +0200
commitb5478a0e033e70478f1c935719bf2e29fda02526 (patch)
tree5e4242ca6d7a378e8647671a8eb63d17e29bda3e /lib/easy.c
parentdb2deba6b4b0e447781ff0e2bdee2aec0a283c97 (diff)
curl_easy_pause: on unpause, trigger mulit-socket handling
When the multi-socket API is used, we need the handle to be checked again when it gets unpaused. Bug: http://curl.haxx.se/mail/lib-2013-07/0239.html Reported-by: Justin Karneges
Diffstat (limited to 'lib/easy.c')
-rw-r--r--lib/easy.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/easy.c b/lib/easy.c
index a7c0a677a..e1b74b070 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -854,6 +854,13 @@ CURLcode curl_easy_pause(CURL *curl, int action)
free(freewrite); /* this is unconditionally no longer used */
}
+ /* if there's no error and we're not pausing both directions, we want
+ to have this handle checked soon */
+ if(!result &&
+ ((newstate&(KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
+ (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) )
+ Curl_expire(data, 1); /* get this handle going again */
+
return result;
}