diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-05-08 02:48:31 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-05-08 02:48:31 +0400 |
commit | fa7008bb247240556b6bd5950576d3f455621f82 (patch) | |
tree | 471d2a9d3a6c0c5089ac71353c86e418bf194bef /Zend/zend_list.c | |
parent | 223df9ceea08a9b186f320114e40914552f48716 (diff) | |
download | php-git-fa7008bb247240556b6bd5950576d3f455621f82.tar.gz |
Fixed resource destruction
Diffstat (limited to 'Zend/zend_list.c')
-rw-r--r-- | Zend/zend_list.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Zend/zend_list.c b/Zend/zend_list.c index 7892b7057c..7ebe9c13a7 100644 --- a/Zend/zend_list.c +++ b/Zend/zend_list.c @@ -46,13 +46,21 @@ ZEND_API zval *zend_list_insert(void *ptr, int type TSRMLS_DC) ZEND_API int _zend_list_delete(zend_resource *res TSRMLS_DC) { - if (GC_REFCOUNT(res) <= 0) { + if (--GC_REFCOUNT(res) <= 0) { return zend_hash_index_del(&EG(regular_list), res->handle); } else { return SUCCESS; } } +ZEND_API int _zend_list_free(zend_resource *res TSRMLS_DC) +{ + if (GC_REFCOUNT(res) <= 0) { + return zend_hash_index_del(&EG(regular_list), res->handle); + } else { + return SUCCESS; + } +} static void zend_resource_dtor(zend_resource *res TSRMLS_DC) { |