diff options
author | Jay Satiro <raysatiro@yahoo.com> | 2022-02-20 16:04:07 -0500 |
---|---|---|
committer | Jay Satiro <raysatiro@yahoo.com> | 2022-02-21 03:23:12 -0500 |
commit | e0dc9765a7b4fdbc38c8994d2b06ce49d26582f5 (patch) | |
tree | 2545b724493e8ed9f6f35a1a87131ae5ab28adc6 /lib/multi.c | |
parent | ccc2752ce8aa6e98f572e7300ec3df4337cddbc5 (diff) | |
download | curl-e0dc9765a7b4fdbc38c8994d2b06ce49d26582f5.tar.gz |
multi: allow user callbacks to call curl_multi_assign
Several years ago a change was made to block user callbacks from calling
back into the API when not supported (recursive calls). One of the calls
blocked was curl_multi_assign. Recently the blocking was extended to the
multi interface API, however curl_multi_assign may need to be called
from within those user callbacks (eg CURLMOPT_SOCKETFUNCTION).
I can't think of any callback where it would be unsafe to call
curl_multi_assign so I removed the restriction entirely.
Reported-by: Michael Wallner
Ref: https://github.com/curl/curl/commit/b46cfbc
Ref: https://github.com/curl/curl/commit/340bb19
Fixes https://github.com/curl/curl/issues/8480
Closes https://github.com/curl/curl/pull/8483
Diffstat (limited to 'lib/multi.c')
-rw-r--r-- | lib/multi.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/lib/multi.c b/lib/multi.c index 0b76874cd..6fdeafb8e 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -3571,9 +3571,6 @@ CURLMcode curl_multi_assign(struct Curl_multi *multi, curl_socket_t s, { struct Curl_sh_entry *there = NULL; - if(multi->in_callback) - return CURLM_RECURSIVE_API_CALL; - there = sh_getentry(&multi->sockhash, s); if(!there) |