summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoriyoshi Koizumi <moriyoshi@php.net>2003-08-07 19:53:31 +0000
committerMoriyoshi Koizumi <moriyoshi@php.net>2003-08-07 19:53:31 +0000
commit12ac36ca8d4c5bbc5b6ab4c318071ee05e28d01d (patch)
tree5f85645b661a4f9c324ce889e5c0a7a0d7ad77af
parenta12601456a4dfd585b1f5dde56e94bd48aa3bf50 (diff)
downloadphp-git-12ac36ca8d4c5bbc5b6ab4c318071ee05e28d01d.tar.gz
Move shutdown code to better place
-rw-r--r--ext/standard/basic_functions.c8
-rw-r--r--ext/standard/basic_functions.h1
-rw-r--r--ext/standard/user_filters.c11
3 files changed, 14 insertions, 6 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index a6c380428e..24c2fe5b89 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -1248,12 +1248,8 @@ PHP_RSHUTDOWN_FUNCTION(basic)
BG(user_tick_functions) = NULL;
}
- if (BG(user_filter_map)) {
- zend_hash_destroy(BG(user_filter_map));
- efree(BG(user_filter_map));
- BG(user_filter_map) = NULL;
- }
-
+ PHP_RSHUTDOWN(user_filters)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
+
return SUCCESS;
}
diff --git a/ext/standard/basic_functions.h b/ext/standard/basic_functions.h
index 4d60602366..4c8f53f29a 100644
--- a/ext/standard/basic_functions.h
+++ b/ext/standard/basic_functions.h
@@ -114,6 +114,7 @@ PHP_FUNCTION(stream_bucket_prepend);
PHP_FUNCTION(stream_bucket_append);
PHP_FUNCTION(stream_bucket_new);
PHP_MINIT_FUNCTION(user_filters);
+PHP_RSHUTDOWN_FUNCTION(user_filters);
#ifdef PHP_WIN32
typedef unsigned int php_stat_len;
diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c
index c7491eb42e..f8933ead01 100644
--- a/ext/standard/user_filters.c
+++ b/ext/standard/user_filters.c
@@ -100,6 +100,17 @@ PHP_MINIT_FUNCTION(user_filters)
return SUCCESS;
}
+PHP_RSHUTDOWN_FUNCTION(user_filters)
+{
+ if (BG(user_filter_map)) {
+ zend_hash_destroy(BG(user_filter_map));
+ efree(BG(user_filter_map));
+ BG(user_filter_map) = NULL;
+ }
+
+ return SUCCESS;
+}
+
static void userfilter_dtor(php_stream_filter *thisfilter TSRMLS_DC)
{
zval *obj = (zval*)thisfilter->abstract;