diff options
| author | Nikita Popov <nikic@php.net> | 2014-05-09 00:24:01 +0200 |
|---|---|---|
| committer | Nikita Popov <nikic@php.net> | 2014-05-09 00:24:01 +0200 |
| commit | b57d558d56ba1bb5905f22ebef86d10ad88d272b (patch) | |
| tree | b70eb505330b0c9a12ff1df7f67f5738be10c420 | |
| parent | 2a31934a1a49b631370cf472e47eca6f8aa54971 (diff) | |
| download | php-git-b57d558d56ba1bb5905f22ebef86d10ad88d272b.tar.gz | |
Fix proc_open resource destruction
| -rw-r--r-- | ext/standard/proc_open.c | 5 |
1 files 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)); } |
