From b57d558d56ba1bb5905f22ebef86d10ad88d272b Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 9 May 2014 00:24:01 +0200 Subject: [PATCH] Fix proc_open resource destruction --- ext/standard/proc_open.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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)); } -- 2.40.0