summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/sockets/config.m42
-rw-r--r--ext/sockets/config.w322
-rw-r--r--ext/sockets/php_sockets.h2
-rw-r--r--ext/sockets/sockets.c9
4 files changed, 12 insertions, 3 deletions
diff --git a/ext/sockets/config.m4 b/ext/sockets/config.m4
index a5a63dfb61..cea27000cf 100644
--- a/ext/sockets/config.m4
+++ b/ext/sockets/config.m4
@@ -56,6 +56,6 @@ if test "$PHP_SOCKETS" != "no"; then
AC_DEFINE(HAVE_AI_V4MAPPED,1,[Whether you have AI_V4MAPPED])
fi
- PHP_NEW_EXTENSION([sockets], [sockets.c multicast.c conversions.c sockaddr_conv.c sendrecvmsg.c], [$ext_shared])
+ PHP_NEW_EXTENSION([sockets], [sockets.c multicast.c conversions.c sockaddr_conv.c sendrecvmsg.c], [$ext_shared],, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_INSTALL_HEADERS([ext/sockets/], [php_sockets.h])
fi
diff --git a/ext/sockets/config.w32 b/ext/sockets/config.w32
index aeaa8ed425..d3455b05dd 100644
--- a/ext/sockets/config.w32
+++ b/ext/sockets/config.w32
@@ -7,7 +7,7 @@ if (PHP_SOCKETS != "no") {
if (CHECK_LIB("ws2_32.lib", "sockets", PHP_SOCKETS)
&& CHECK_LIB("Iphlpapi.lib", "sockets", PHP_SOCKETS)
&& CHECK_HEADER_ADD_INCLUDE("winsock.h", "CFLAGS_SOCKETS")) {
- EXTENSION('sockets', 'sockets.c multicast.c conversions.c sockaddr_conv.c sendrecvmsg.c');
+ EXTENSION('sockets', 'sockets.c multicast.c conversions.c sockaddr_conv.c sendrecvmsg.c', PHP_SOCKETS_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
AC_DEFINE('HAVE_SOCKETS', 1);
PHP_INSTALL_HEADERS("ext/sockets", "php_sockets.h");
} else {
diff --git a/ext/sockets/php_sockets.h b/ext/sockets/php_sockets.h
index b1ee5798c9..8a25f960a3 100644
--- a/ext/sockets/php_sockets.h
+++ b/ext/sockets/php_sockets.h
@@ -89,7 +89,7 @@ ZEND_BEGIN_MODULE_GLOBALS(sockets)
ZEND_END_MODULE_GLOBALS(sockets)
#ifdef ZTS
-#define SOCKETS_G(v) TSRMG(sockets_globals_id, zend_sockets_globals *, v)
+#define SOCKETS_G(v) ZEND_TSRMG(sockets_globals_id, zend_sockets_globals *, v)
#else
#define SOCKETS_G(v) (sockets_globals.v)
#endif
diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c
index 0dab51bed6..263b8c45f7 100644
--- a/ext/sockets/sockets.c
+++ b/ext/sockets/sockets.c
@@ -370,6 +370,9 @@ zend_module_entry sockets_module_entry = {
#ifdef COMPILE_DL_SOCKETS
+#ifdef ZTS
+ ZEND_TSRMLS_CACHE_DEFINE;
+#endif
ZEND_GET_MODULE(sockets)
#endif
@@ -600,6 +603,9 @@ char *sockets_strerror(int error TSRMLS_DC) /* {{{ */
/* {{{ PHP_GINIT_FUNCTION */
static PHP_GINIT_FUNCTION(sockets)
{
+#if defined(COMPILE_DL_SOCKETS) && defined(ZTS)
+ ZEND_TSRMLS_CACHE_UPDATE;
+#endif
sockets_globals->last_error = 0;
sockets_globals->strerror_buf = NULL;
}
@@ -609,6 +615,9 @@ static PHP_GINIT_FUNCTION(sockets)
*/
static PHP_MINIT_FUNCTION(sockets)
{
+#if defined(COMPILE_DL_SOCKETS) && defined(ZTS)
+ ZEND_TSRMLS_CACHE_UPDATE;
+#endif
le_socket = zend_register_list_destructors_ex(php_destroy_socket, NULL, le_socket_name, module_number);
REGISTER_LONG_CONSTANT("AF_UNIX", AF_UNIX, CONST_CS | CONST_PERSISTENT);