com php-src: Fix proc_open resource destruction: ext/ standard/proc_open.c
| From: | Nikita Popov | Date: | Thu, 08 May 2014 22:24:01 +0000 |
| Subject: | com php-src: Fix proc_open resource destruction: ext/ standard/proc_open.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-78218@lists.php.net to get a copy of this message | ||
Commit: b57d558d56ba1bb5905f22ebef86d10ad88d272b
Author: Nikita Popov <nikic@php.net> Fri, 9 May 2014 00:24:01 +0200
Parents: 2a31934a1a49b631370cf472e47eca6f8aa54971
Branches: phpng
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=b57d558d56ba1bb5905f22ebef86d10ad88d272b
Log:
Fix proc_open resource destruction
Changed paths:
M ext/standard/proc_open.c
Diff:
diff --git a/ext/standard/proc_open.c b/ext/standard/proc_open.c
index 2fb5553c..35ea3d1 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));
}