summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend.c6
-rw-r--r--Zend/zend_ini.c10
-rw-r--r--Zend/zend_ini.h3
3 files changed, 15 insertions, 4 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index 50c90ede25..03dfbc4402 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -487,7 +487,11 @@ static void executor_globals_ctor(zend_executor_globals *executor_globals) /* {{
static void executor_globals_dtor(zend_executor_globals *executor_globals) /* {{{ */
{
- zend_ini_shutdown(executor_globals->ini_directives);
+#ifdef ZTS
+ zend_ini_dtor(executor_globals->ini_directives);
+#else
+ zend_ini_shutdown();
+#endif
if (&executor_globals->persistent_list != global_persistent_list) {
zend_destroy_rsrc_list(&executor_globals->persistent_list);
}
diff --git a/Zend/zend_ini.c b/Zend/zend_ini.c
index d980d5222c..fe1f950184 100644
--- a/Zend/zend_ini.c
+++ b/Zend/zend_ini.c
@@ -114,11 +114,17 @@ ZEND_API int zend_ini_startup(void) /* {{{ */
}
/* }}} */
-ZEND_API int zend_ini_shutdown(HashTable *ini_directives) /* {{{ */
+ZEND_API int zend_ini_shutdown(void) /* {{{ */
+{
+ zend_ini_dtor(EG(ini_directives));
+ return SUCCESS;
+}
+/* }}} */
+
+ZEND_API void zend_ini_dtor(HashTable *ini_directives) /* {{{ */
{
zend_hash_destroy(ini_directives);
free(ini_directives);
- return SUCCESS;
}
/* }}} */
diff --git a/Zend/zend_ini.h b/Zend/zend_ini.h
index 81a2ee3ef3..5030819d6b 100644
--- a/Zend/zend_ini.h
+++ b/Zend/zend_ini.h
@@ -62,9 +62,10 @@ struct _zend_ini_entry {
BEGIN_EXTERN_C()
ZEND_API int zend_ini_startup(void);
-ZEND_API int zend_ini_shutdown(HashTable *ini_directives);
+ZEND_API int zend_ini_shutdown(void);
ZEND_API int zend_ini_global_shutdown(void);
ZEND_API int zend_ini_deactivate(void);
+ZEND_API void zend_ini_dtor(HashTable *ini_directives);
ZEND_API int zend_copy_ini_directives(void);