diff options
Diffstat (limited to 'ext/soap')
| -rw-r--r-- | ext/soap/config.m4 | 2 | ||||
| -rw-r--r-- | ext/soap/config.w32 | 2 | ||||
| -rw-r--r-- | ext/soap/php_soap.h | 5 | ||||
| -rw-r--r-- | ext/soap/soap.c | 6 |
4 files changed, 12 insertions, 3 deletions
diff --git a/ext/soap/config.m4 b/ext/soap/config.m4 index 7fa8c6f0ec..5fcb8bd447 100644 --- a/ext/soap/config.m4 +++ b/ext/soap/config.m4 @@ -17,7 +17,7 @@ if test "$PHP_SOAP" != "no"; then PHP_SETUP_LIBXML(SOAP_SHARED_LIBADD, [ AC_DEFINE(HAVE_SOAP,1,[ ]) - PHP_NEW_EXTENSION(soap, soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c, $ext_shared) + PHP_NEW_EXTENSION(soap, soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) PHP_SUBST(SOAP_SHARED_LIBADD) ], [ AC_MSG_ERROR([xml2-config not found. Please check your libxml2 installation.]) diff --git a/ext/soap/config.w32 b/ext/soap/config.w32 index 7aa73b5838..bb26a90471 100644 --- a/ext/soap/config.w32 +++ b/ext/soap/config.w32 @@ -5,7 +5,7 @@ ARG_ENABLE("soap", "SOAP support", "no"); if (PHP_SOAP != "no") { if (PHP_LIBXML == "yes" && ADD_EXTENSION_DEP('soap', 'libxml')) { - EXTENSION('soap', 'soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c'); + EXTENSION('soap', 'soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c', null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); AC_DEFINE('HAVE_PHP_SOAP', 1, "SOAP support"); if (!PHP_SOAP_SHARED) { diff --git a/ext/soap/php_soap.h b/ext/soap/php_soap.h index f32555cd93..e636ef39e7 100644 --- a/ext/soap/php_soap.h +++ b/ext/soap/php_soap.h @@ -193,7 +193,10 @@ extern zend_module_entry soap_module_entry; ZEND_EXTERN_MODULE_GLOBALS(soap) #ifdef ZTS -# define SOAP_GLOBAL(v) TSRMG(soap_globals_id, zend_soap_globals *, v) +# define SOAP_GLOBAL(v) ZEND_TSRMG(soap_globals_id, zend_soap_globals *, v) +# ifdef COMPILE_DL_SOAP +ZEND_TSRMLS_CACHE_EXTERN; +# endif #else # define SOAP_GLOBAL(v) (soap_globals.v) #endif diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 0e7d004564..cf409cedf2 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -466,6 +466,9 @@ zend_module_entry soap_module_entry = { }; #ifdef COMPILE_DL_SOAP +#ifdef ZTS +ZEND_TSRMLS_CACHE_DEFINE; +#endif ZEND_GET_MODULE(soap) #endif @@ -602,6 +605,9 @@ PHP_MSHUTDOWN_FUNCTION(soap) PHP_RINIT_FUNCTION(soap) { +#if defined(COMPILE_DL_SOAP) && defined(ZTS) + ZEND_TSRMLS_CACHE_UPDATE; +#endif SOAP_GLOBAL(typemap) = NULL; SOAP_GLOBAL(use_soap_error_handler) = 0; SOAP_GLOBAL(error_code) = NULL; |
