summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_list.c11
-rw-r--r--Zend/zend_list.h2
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);