summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2014-10-15 19:27:53 +0200
committerAnatol Belski <ab@php.net>2014-10-15 19:27:53 +0200
commit0e7682c63c10e374d76a4f93974f7e64716cf234 (patch)
tree7dc69261c180d82e9908534a72d24a1f10c68bee
parent0490a322490ecf19aa428d2790a95db7ac953e00 (diff)
downloadphp-git-0e7682c63c10e374d76a4f93974f7e64716cf234.tar.gz
moved ext/filter to use the static tsrmls pointer
-rw-r--r--ext/filter/config.m42
-rw-r--r--ext/filter/config.w322
-rw-r--r--ext/filter/filter.c6
-rw-r--r--ext/filter/php_filter.h3
4 files changed, 10 insertions, 3 deletions
diff --git a/ext/filter/config.m4 b/ext/filter/config.m4
index 676f5d99ef..93ca2cba25 100644
--- a/ext/filter/config.m4
+++ b/ext/filter/config.m4
@@ -39,7 +39,7 @@ yes
CPPFLAGS=$old_CPPFLAGS
fi
- PHP_NEW_EXTENSION(filter, filter.c sanitizing_filters.c logical_filters.c callback_filter.c, $ext_shared)
+ PHP_NEW_EXTENSION(filter, filter.c sanitizing_filters.c logical_filters.c callback_filter.c, $ext_shared, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_SUBST(FILTER_SHARED_LIBADD)
PHP_INSTALL_HEADERS([ext/filter/php_filter.h])
diff --git a/ext/filter/config.w32 b/ext/filter/config.w32
index b74f3a2fd0..0a9e147569 100644
--- a/ext/filter/config.w32
+++ b/ext/filter/config.w32
@@ -4,6 +4,6 @@
ARG_ENABLE("filter", "Filter Support", "yes");
if (PHP_FILTER == "yes") {
- EXTENSION("filter", "filter.c sanitizing_filters.c logical_filters.c callback_filter.c");
+ EXTENSION("filter", "filter.c sanitizing_filters.c logical_filters.c callback_filter.c", PHP_FILTER_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
PHP_INSTALL_HEADERS("ext/filter", "php_filter.h");
}
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
index 530dce6f53..fcea5a803a 100644
--- a/ext/filter/filter.c
+++ b/ext/filter/filter.c
@@ -152,6 +152,9 @@ zend_module_entry filter_module_entry = {
/* }}} */
#ifdef COMPILE_DL_FILTER
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE;
+#endif
ZEND_GET_MODULE(filter)
#endif
@@ -191,6 +194,9 @@ PHP_INI_END()
static void php_filter_init_globals(zend_filter_globals *filter_globals) /* {{{ */
{
+#if defined(COMPILE_DL_FILTER) && defined(ZTS)
+ZEND_TSRMLS_CACHE_UPDATE;
+#endif
ZVAL_UNDEF(&filter_globals->post_array);
ZVAL_UNDEF(&filter_globals->get_array);
ZVAL_UNDEF(&filter_globals->cookie_array);
diff --git a/ext/filter/php_filter.h b/ext/filter/php_filter.h
index 126a0c6c8b..a1e7e6602c 100644
--- a/ext/filter/php_filter.h
+++ b/ext/filter/php_filter.h
@@ -64,7 +64,8 @@ ZEND_BEGIN_MODULE_GLOBALS(filter)
ZEND_END_MODULE_GLOBALS(filter)
#ifdef ZTS
-#define IF_G(v) TSRMG(filter_globals_id, zend_filter_globals *, v)
+#define IF_G(v) ZEND_TSRMG(filter_globals_id, zend_filter_globals *, v)
+ZEND_TSRMLS_CACHE_EXTERN;
#else
#define IF_G(v) (filter_globals.v)
#endif