diff options
-rw-r--r-- | Zend/zend_list.c | 11 | ||||
-rw-r--r-- | Zend/zend_list.h | 2 |
2 files changed, 5 insertions, 8 deletions
diff --git a/Zend/zend_list.c b/Zend/zend_list.c index 2288cf6913..3464ca27d5 100644 --- a/Zend/zend_list.c +++ b/Zend/zend_list.c @@ -51,13 +51,10 @@ ZEND_API int ZEND_FASTCALL zend_list_delete(zend_resource *res) } } -ZEND_API int ZEND_FASTCALL zend_list_free(zend_resource *res) +ZEND_API void ZEND_FASTCALL zend_list_free(zend_resource *res) { - if (GC_REFCOUNT(res) <= 0) { - return zend_hash_index_del(&EG(regular_list), res->handle); - } else { - return SUCCESS; - } + ZEND_ASSERT(GC_REFCOUNT(res) == 0); + zend_hash_index_del(&EG(regular_list), res->handle); } static void zend_resource_dtor(zend_resource *res) @@ -82,7 +79,7 @@ static void zend_resource_dtor(zend_resource *res) ZEND_API int ZEND_FASTCALL zend_list_close(zend_resource *res) { if (GC_REFCOUNT(res) <= 0) { - return zend_list_free(res); + zend_list_free(res); } else if (res->type >= 0) { zend_resource_dtor(res); } diff --git a/Zend/zend_list.h b/Zend/zend_list.h index b9a1d5e159..92fdd3d417 100644 --- a/Zend/zend_list.h +++ b/Zend/zend_list.h @@ -53,7 +53,7 @@ int zend_init_rsrc_list_dtors(void); void zend_destroy_rsrc_list_dtors(void); ZEND_API zval* ZEND_FASTCALL zend_list_insert(void *ptr, int type); -ZEND_API int ZEND_FASTCALL zend_list_free(zend_resource *res); +ZEND_API void ZEND_FASTCALL zend_list_free(zend_resource *res); ZEND_API int ZEND_FASTCALL zend_list_delete(zend_resource *res); ZEND_API int ZEND_FASTCALL zend_list_close(zend_resource *res); |