1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 08:08:50 -05:00

curl_multi_remove_handle: allow multiple removes

When removing an already removed handle, avoid that to ruin the
internals and just return OK instead.
This commit is contained in:
Daniel Stenberg 2013-08-29 22:08:01 +02:00
parent 2ef83136d4
commit 84f3b3dd44

View File

@ -483,6 +483,10 @@ CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
if(!GOOD_EASY_HANDLE(curl_handle)) if(!GOOD_EASY_HANDLE(curl_handle))
return CURLM_BAD_EASY_HANDLE; return CURLM_BAD_EASY_HANDLE;
/* Prevent users from trying to remove same easy handle more than once */
if(!data->multi)
return CURLM_OK; /* it is already removed so let's say it is fine! */
if(easy) { if(easy) {
bool premature = (data->mstate < CURLM_STATE_COMPLETED) ? TRUE : FALSE; bool premature = (data->mstate < CURLM_STATE_COMPLETED) ? TRUE : FALSE;
bool easy_owns_conn = (data->easy_conn && bool easy_owns_conn = (data->easy_conn &&