summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-03-18 14:52:54 +0400
committerDmitry Stogov <dmitry@zend.com>2014-03-18 14:52:54 +0400
commitda9a2872b0170d74ea1fce95af710bdb1242644c (patch)
treeeb7295ded3f3a1d0e9923e70295ad17d61b668cd
parent89ad91a8cc3c9378d8b257ba2c7881265ed04f67 (diff)
downloadphp-git-da9a2872b0170d74ea1fce95af710bdb1242644c.tar.gz
Fixed cleanup on request shutdown
-rw-r--r--Zend/zend_execute_API.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 339a71b901..73c00eae03 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -103,27 +103,31 @@ static void zend_extension_deactivator(zend_extension *extension TSRMLS_DC) /* {
}
/* }}} */
-static int clean_non_persistent_function(zend_function *function TSRMLS_DC) /* {{{ */
+static int clean_non_persistent_function(zval *zv TSRMLS_DC) /* {{{ */
{
+ zend_function *function = Z_PTR_P(zv);
return (function->type == ZEND_INTERNAL_FUNCTION) ? ZEND_HASH_APPLY_STOP : ZEND_HASH_APPLY_REMOVE;
}
/* }}} */
-static int clean_non_persistent_function_full(zend_function *function TSRMLS_DC) /* {{{ */
+static int clean_non_persistent_function_full(zval *zv TSRMLS_DC) /* {{{ */
{
+ zend_function *function = Z_PTR_P(zv);
return (function->type == ZEND_INTERNAL_FUNCTION) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
}
/* }}} */
-static int clean_non_persistent_class(zend_class_entry **ce TSRMLS_DC) /* {{{ */
+static int clean_non_persistent_class(zval *zv TSRMLS_DC) /* {{{ */
{
- return ((*ce)->type == ZEND_INTERNAL_CLASS) ? ZEND_HASH_APPLY_STOP : ZEND_HASH_APPLY_REMOVE;
+ zend_class_entry *ce = Z_PTR_P(zv);
+ return (ce->type == ZEND_INTERNAL_CLASS) ? ZEND_HASH_APPLY_STOP : ZEND_HASH_APPLY_REMOVE;
}
/* }}} */
-static int clean_non_persistent_class_full(zend_class_entry **ce TSRMLS_DC) /* {{{ */
+static int clean_non_persistent_class_full(zval *zv TSRMLS_DC) /* {{{ */
{
- return ((*ce)->type == ZEND_INTERNAL_CLASS) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
+ zend_class_entry *ce = Z_PTR_P(zv);
+ return (ce->type == ZEND_INTERNAL_CLASS) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
}
/* }}} */