From: Nikita Popov Date: Thu, 8 May 2014 22:24:01 +0000 (+0200) Subject: Fix proc_open resource destruction X-Git-Tag: POST_PHPNG_MERGE~384^2~17 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b57d558d56ba1bb5905f22ebef86d10ad88d272b;p=php Fix proc_open resource destruction --- diff --git a/ext/standard/proc_open.c b/ext/standard/proc_open.c index 2fb5553cde..35ea3d1b74 100644 --- a/ext/standard/proc_open.c +++ b/ext/standard/proc_open.c @@ -222,7 +222,8 @@ static void proc_open_rsrc_dtor(zend_resource *rsrc TSRMLS_DC) /* Close all handles to avoid a deadlock */ for (i = 0; i < proc->npipes; i++) { if (proc->pipes[i] != 0) { - zend_list_delete(proc->pipes[i]); + GC_REFCOUNT(proc->pipes[i])--; + zend_list_close(proc->pipes[i]); proc->pipes[i] = 0; } } @@ -318,7 +319,7 @@ PHP_FUNCTION(proc_close) ZEND_FETCH_RESOURCE(proc, struct php_process_handle *, zproc, -1, "process", le_proc_open); FG(pclose_wait) = 1; - zend_list_delete(Z_RES_P(zproc)); + zend_list_close(Z_RES_P(zproc)); FG(pclose_wait) = 0; RETURN_LONG(FG(pclose_ret)); }