diff --git a/ext/tidy/php_tidy.h b/ext/tidy/php_tidy.h index 3beff75dd83..3f910e46ef2 100644 --- a/ext/tidy/php_tidy.h +++ b/ext/tidy/php_tidy.h @@ -40,6 +40,7 @@ extern zend_module_entry tidy_module_entry; #define TIDY_ATTR_ME(name, param) TIDY_METHOD_MAP(name, tam_ ##name, param) PHP_MINIT_FUNCTION(tidy); +PHP_MSHUTDOWN_FUNCTION(tidy); PHP_RINIT_FUNCTION(tidy); PHP_MINFO_FUNCTION(tidy); diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c index f3e29f5e24b..31d09b4a825 100644 --- a/ext/tidy/tidy.c +++ b/ext/tidy/tidy.c @@ -326,7 +326,7 @@ zend_module_entry tidy_module_entry = { "tidy", tidy_functions, PHP_MINIT(tidy), - NULL, + PHP_MSHUTDOWN(tidy), PHP_RINIT(tidy), NULL, PHP_MINFO(tidy), @@ -1000,6 +1000,17 @@ PHP_RINIT_FUNCTION(tidy) return SUCCESS; } +PHP_MSHUTDOWN_FUNCTION(tidy) +{ +#ifdef ZTS + ts_free_id(tidy_globals_id); +#else + tidy_globals_dtor(&tidy_globals TSRMLS_CC); +#endif + UNREGISTER_INI_ENTRIES(); + return SUCCESS; +} + PHP_MINFO_FUNCTION(tidy) { php_info_print_table_start();