diff options
Diffstat (limited to 'ext/mysql')
| -rw-r--r-- | ext/mysql/config.m4 | 2 | ||||
| -rw-r--r-- | ext/mysql/config.w32 | 4 | ||||
| -rw-r--r-- | ext/mysql/php_mysql.c | 6 | ||||
| -rw-r--r-- | ext/mysql/php_mysql_structs.h | 5 |
4 files changed, 13 insertions, 4 deletions
diff --git a/ext/mysql/config.m4 b/ext/mysql/config.m4 index fd7f52ef3a..70bfd7110b 100644 --- a/ext/mysql/config.m4 +++ b/ext/mysql/config.m4 @@ -158,7 +158,7 @@ if test "$PHP_MYSQL" != "no"; then fi AC_DEFINE(HAVE_MYSQL, 1, [Whether you have MySQL]) - PHP_NEW_EXTENSION(mysql, php_mysql.c, $ext_shared) + PHP_NEW_EXTENSION(mysql, php_mysql.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) PHP_SUBST(MYSQL_SHARED_LIBADD) if test "$PHP_MYSQL" = "yes" || test "$PHP_MYSQL" = "mysqlnd"; then diff --git a/ext/mysql/config.w32 b/ext/mysql/config.w32 index 2a929b4165..0af94d9623 100644 --- a/ext/mysql/config.w32 +++ b/ext/mysql/config.w32 @@ -10,7 +10,7 @@ if (PHP_MYSQL != "no") { PHP_MYSQL = "no"; WARNING("mysql not enabled; mysqlnd is not enabled"); } else { - EXTENSION("mysql", "php_mysql.c"); + EXTENSION("mysql", "php_mysql.c", PHP_MYSQL_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); AC_DEFINE('HAVE_MYSQL', 1, 'Have MySQL library'); MESSAGE("\tusing mysqlnd build"); } @@ -18,7 +18,7 @@ if (PHP_MYSQL != "no") { if (CHECK_LIB("libmysql.lib", "mysql", PHP_MYSQL) && CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQL", PHP_MYSQL + "\\include;" + PHP_PHP_BUILD + "\\include\\mysql;" + PHP_MYSQL)) { - EXTENSION("mysql", "php_mysql.c"); + EXTENSION("mysql", "php_mysql.c", PHP_MYSQL_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); AC_DEFINE('HAVE_MYSQL', 1, 'Have MySQL library'); MESSAGE("\tusing libmysql"); } else { diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index fc1dac5da7..9454577a98 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -358,6 +358,9 @@ zend_module_entry mysql_module_entry = { /* }}} */ #ifdef COMPILE_DL_MYSQL +#ifdef ZTS +ZEND_TSRMLS_CACHE_DEFINE; +#endif ZEND_GET_MODULE(mysql) #endif @@ -518,6 +521,9 @@ PHP_INI_END() */ static PHP_GINIT_FUNCTION(mysql) { +#if defined(COMPILE_DL_MYSQL) && defined(ZTS) + ZEND_TSRMLS_CACHE_UPDATE; +#endif mysql_globals->num_persistent = 0; mysql_globals->default_socket = NULL; mysql_globals->default_host = NULL; diff --git a/ext/mysql/php_mysql_structs.h b/ext/mysql/php_mysql_structs.h index 8eb9aa1d29..214a5c689b 100644 --- a/ext/mysql/php_mysql_structs.h +++ b/ext/mysql/php_mysql_structs.h @@ -127,7 +127,10 @@ ZEND_BEGIN_MODULE_GLOBALS(mysql) ZEND_END_MODULE_GLOBALS(mysql) #ifdef ZTS -# define MySG(v) TSRMG(mysql_globals_id, zend_mysql_globals *, v) +# define MySG(v) ZEND_TSRMG(mysql_globals_id, zend_mysql_globals *, v) +# ifdef COMPILE_DL_MYSQL +ZEND_TSRMLS_CACHE_EXTERN; +# endif #else # define MySG(v) (mysql_globals.v) #endif |
