diff options
| -rw-r--r-- | ext/curl/multi.c | 12 | ||||
| -rw-r--r-- | ext/curl/tests/curl_multi_close_reference.phpt | 20 |
2 files changed, 3 insertions, 29 deletions
diff --git a/ext/curl/multi.c b/ext/curl/multi.c index e3db38b207..adab5fa219 100644 --- a/ext/curl/multi.c +++ b/ext/curl/multi.c @@ -105,10 +105,6 @@ void _php_curl_multi_cleanup_list(void *data) /* {{{ */ return; } - if (Z_RES_P(z_ch)->ptr == NULL) { - return; - } - ch = zend_fetch_resource(z_ch, -1, le_curl_name, NULL, 1, le_curl); if (!ch) { return; @@ -345,11 +341,9 @@ void _php_curl_multi_close(zend_resource *rsrc) /* {{{ */ for (pz_ch = (zval *)zend_llist_get_first_ex(&mh->easyh, &pos); pz_ch; pz_ch = (zval *)zend_llist_get_next_ex(&mh->easyh, &pos)) { - /* ptr is NULL means it already be freed */ - if (Z_RES_P(pz_ch)->ptr) { - ch = (php_curl *) zend_fetch_resource(pz_ch, -1, le_curl_name, NULL, 1, le_curl); - _php_curl_verify_handlers(ch, 0); - } + + ch = (php_curl *) zend_fetch_resource(pz_ch, -1, le_curl_name, NULL, 1, le_curl); + _php_curl_verify_handlers(ch, 0); } curl_multi_cleanup(mh->multi); diff --git a/ext/curl/tests/curl_multi_close_reference.phpt b/ext/curl/tests/curl_multi_close_reference.phpt deleted file mode 100644 index 95f565bb28..0000000000 --- a/ext/curl/tests/curl_multi_close_reference.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -curl_multi_close closed by cleanup functions ---SKIPIF-- -<?php -if (!extension_loaded('curl')) print 'skip'; -?> ---FILE-- -<?php -$mh = curl_multi_init(); -$array = array($mh); -$array[] = &$array; - -curl_multi_add_handle($mh, curl_init()); -curl_multi_add_handle($mh, curl_init()); -curl_multi_add_handle($mh, curl_init()); -curl_multi_add_handle($mh, curl_init()); -echo "okey"; -?> ---EXPECT-- -okey |
