/* {{{ STATUS http_request_pool_detach(http_request_pool *, zval *) */
PHP_HTTP_API STATUS _http_request_pool_detach(http_request_pool *pool, zval *request TSRMLS_DC)
{
+ CURLMcode code;
getObjectEx(http_request_object, req, request);
#if HTTP_DEBUG_REQPOOLS
#endif
} else if (req->pool != pool) {
http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "HttpRequest object(#%d) is not attached to this HttpRequestPool", Z_OBJ_HANDLE_P(request));
+ } else if (CURLM_OK != (code = curl_multi_remove_handle(pool->ch, req->ch))) {
+ http_error_ex(HE_WARNING, HTTP_E_REQUEST_POOL, "Could not detach HttpRequest object from the HttpRequestPool: %s", curl_multi_strerror(code));
} else {
- CURLMcode code;
-
- if (CURLM_OK == (code = curl_multi_remove_handle(pool->ch, req->ch))) {
- req->pool = NULL;
- zend_llist_del_element(&pool->handles, request, http_request_pool_compare_handles);
- zend_llist_del_element(&pool->finished, request, http_request_pool_compare_handles);
-
+ req->pool = NULL;
+ zend_llist_del_element(&pool->finished, request, http_request_pool_compare_handles);
+ zend_llist_del_element(&pool->handles, request, http_request_pool_compare_handles);
+
#if HTTP_DEBUG_REQPOOLS
- fprintf(stderr, "> %d HttpRequests remaining in pool %p\n", zend_llist_count(&pool->handles), pool);
+ fprintf(stderr, "> %d HttpRequests remaining in pool %p\n", zend_llist_count(&pool->handles), pool);
#endif
-
- return SUCCESS;
- } else {
- http_error_ex(HE_WARNING, HTTP_E_REQUEST_POOL, "Could not detach HttpRequest object from the HttpRequestPool: %s", curl_multi_strerror(code));
- }
+
+ return SUCCESS;
}
return FAILURE;
}
while (CURLM_CALL_MULTI_PERFORM == curl_multi_perform(pool->ch, &pool->unfinished));
- while (msg = curl_multi_info_read(pool->ch, &remaining)) {
+ while ((msg = curl_multi_info_read(pool->ch, &remaining))) {
if (CURLMSG_DONE == msg->msg) {
if (CURLE_OK != msg->data.result) {
http_error(HE_WARNING, HTTP_E_REQUEST, curl_easy_strerror(msg->data.result));