summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/tidy/config.m42
-rw-r--r--ext/tidy/config.w321
-rw-r--r--ext/tidy/php_tidy.h5
-rw-r--r--ext/tidy/tidy.c7
4 files changed, 13 insertions, 2 deletions
diff --git a/ext/tidy/config.m4 b/ext/tidy/config.m4
index 102f6a827e..b09622af3e 100644
--- a/ext/tidy/config.m4
+++ b/ext/tidy/config.m4
@@ -38,7 +38,7 @@ if test "$PHP_TIDY" != "no"; then
],[],[])
- PHP_NEW_EXTENSION(tidy, tidy.c, $ext_shared)
+ PHP_NEW_EXTENSION(tidy, tidy.c, $ext_shared, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_SUBST(TIDY_SHARED_LIBADD)
AC_DEFINE(HAVE_TIDY,1,[ ])
fi
diff --git a/ext/tidy/config.w32 b/ext/tidy/config.w32
index 41f217588d..a87a833f92 100644
--- a/ext/tidy/config.w32
+++ b/ext/tidy/config.w32
@@ -12,6 +12,7 @@ if (PHP_TIDY != "no") {
)) {
EXTENSION("tidy", "tidy.c");
AC_DEFINE('HAVE_TIDY', 1, 'Have TIDY library');
+ ADD_FLAG('CFLAGS_TIDY', '/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1');
if (!PHP_TIDY_SHARED) {
ADD_DEF_FILE("ext\\tidy\\php_tidy.def");
}
diff --git a/ext/tidy/php_tidy.h b/ext/tidy/php_tidy.h
index cd78f37a17..77de84de9c 100644
--- a/ext/tidy/php_tidy.h
+++ b/ext/tidy/php_tidy.h
@@ -40,7 +40,10 @@ ZEND_BEGIN_MODULE_GLOBALS(tidy)
ZEND_END_MODULE_GLOBALS(tidy)
#ifdef ZTS
-#define TG(v) TSRMG(tidy_globals_id, zend_tidy_globals *, v)
+#define TG(v) ZEND_TSRMG(tidy_globals_id, zend_tidy_globals *, v)
+#ifdef COMPILE_DL_TIDY
+ZEND_TSRMLS_CACHE_EXTERN;
+#endif
#else
#define TG(v) (tidy_globals.v)
#endif
diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c
index 63ccf52370..c8f1ec665e 100644
--- a/ext/tidy/tidy.c
+++ b/ext/tidy/tidy.c
@@ -467,6 +467,9 @@ zend_module_entry tidy_module_entry = {
};
#ifdef COMPILE_DL_TIDY
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE;
+#endif
ZEND_GET_MODULE(tidy)
#endif
@@ -1053,6 +1056,10 @@ static PHP_MINIT_FUNCTION(tidy)
static PHP_RINIT_FUNCTION(tidy)
{
+#if defined(COMPILE_DL_TIDY) && defined(ZTS)
+ ZEND_TSRMLS_CACHE_UPDATE;
+#endif
+
php_tidy_clean_output_start(ZEND_STRL("ob_tidyhandler") TSRMLS_CC);
return SUCCESS;