return CURLM_CALL_MULTI_PERFORM in one more case, and check return code

from malloc()
This commit is contained in:
Daniel Stenberg 2002-05-02 22:12:14 +00:00
parent 2de0028349
commit 2db0744a7b

View File

@ -323,6 +323,10 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles)
{
struct Curl_message *msg = (struct Curl_message *)
malloc(sizeof(struct Curl_message));
if(!msg)
return CURLM_OUT_OF_MEMORY;
msg->extmsg.msg = CURLMSG_DONE;
msg->extmsg.easy_handle = easy->easy_handle;
msg->extmsg.data.result = easy->result;
@ -339,7 +343,9 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles)
multi->num_msgs++; /* increase message counter */
}
result = CURLM_CALL_MULTI_PERFORM;
break;
case CURLM_STATE_COMPLETED:
/* this is a completed transfer, it is likely to still be connected */
@ -364,6 +370,7 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles)
easy = easy->next; /* operate on next handle */
}
return result;
}