]> granicus.if.org Git - php/commitdiff
Switch to use ZTS cache
authorDmitry Stogov <dmitry@zend.com>
Tue, 12 Mar 2019 11:15:47 +0000 (14:15 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 12 Mar 2019 11:15:47 +0000 (14:15 +0300)
24 files changed:
ext/dba/config.m4
ext/dba/config.w32
ext/dba/dba.c
ext/imap/config.m4
ext/imap/config.w32
ext/imap/php_imap.c
ext/imap/php_imap.h
ext/ldap/config.m4
ext/ldap/config.w32
ext/ldap/ldap.c
ext/ldap/php_ldap.h
ext/pcntl/config.m4
ext/pcntl/pcntl.c
ext/pcntl/php_pcntl.h
ext/pdo_dblib/config.m4
ext/pdo_dblib/config.w32
ext/pdo_dblib/pdo_dblib.c
ext/pdo_dblib/php_pdo_dblib_int.h
ext/posix/config.m4
ext/posix/php_posix.h
ext/posix/posix.c
ext/recode/config.m4
ext/recode/recode.c
ext/sqlite3/php_sqlite3.h

index 19a916b0dfe221f75f82b638e12e09f505ed5772..825cb2dc0465a8cddf0f16000356950206f5ae7d 100644 (file)
@@ -700,7 +700,7 @@ if test "$HAVE_DBA" = "1"; then
     AC_MSG_RESULT([yes])
   fi
   AC_DEFINE(HAVE_DBA, 1, [ ])
-  PHP_NEW_EXTENSION(dba, dba.c dba_cdb.c dba_dbm.c dba_gdbm.c dba_ndbm.c dba_db1.c dba_db2.c dba_db3.c dba_db4.c dba_flatfile.c dba_inifile.c dba_qdbm.c dba_tcadb.c dba_lmdb.c $cdb_sources $flat_sources $ini_sources, $ext_shared)
+  PHP_NEW_EXTENSION(dba, dba.c dba_cdb.c dba_dbm.c dba_gdbm.c dba_ndbm.c dba_db1.c dba_db2.c dba_db3.c dba_db4.c dba_flatfile.c dba_inifile.c dba_qdbm.c dba_tcadb.c dba_lmdb.c $cdb_sources $flat_sources $ini_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
   PHP_ADD_BUILD_DIR($ext_builddir/libinifile)
   PHP_ADD_BUILD_DIR($ext_builddir/libcdb)
   PHP_ADD_BUILD_DIR($ext_builddir/libflatfile)
index 16317c941d630cb242e0cac0677616861c09136c..6391076de8d18a500ff461a78b060d26791eeb9d 100644 (file)
@@ -6,7 +6,7 @@ ARG_WITH("db", "DBA: Berkeley DB support", "no");
 ARG_WITH("lmdb", "DBA: Lightning memory-mapped database support", "no");
 
 if (PHP_DBA != "no") {
-       EXTENSION("dba", "dba.c dba_cdb.c dba_db1.c dba_db2.c dba_db3.c dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c dba_inifile.c");
+       EXTENSION("dba", "dba.c dba_cdb.c dba_db1.c dba_db2.c dba_db3.c dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c dba_inifile.c", null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
        ADD_SOURCES("ext/dba/libcdb", "cdb.c cdb_make.c uint32.c", "dba");
        ADD_SOURCES("ext/dba/libflatfile", "flatfile.c", "dba");
        ADD_SOURCES("ext/dba/libinifile", "inifile.c", "dba");
index 5e163066f3fa312a3a99c0865e5296beb9e35893..ede12f0bd673d155c4cde697bfc8b181388134d9 100644 (file)
@@ -160,11 +160,7 @@ ZEND_END_MODULE_GLOBALS(dba)
 
 ZEND_DECLARE_MODULE_GLOBALS(dba)
 
-#ifdef ZTS
-#define DBA_G(v) TSRMG(dba_globals_id, zend_dba_globals *, v)
-#else
-#define DBA_G(v) (dba_globals.v)
-#endif
+#define DBA_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(dba, v)
 
 static PHP_GINIT_FUNCTION(dba);
 
@@ -186,6 +182,9 @@ zend_module_entry dba_module_entry = {
 };
 
 #ifdef COMPILE_DL_DBA
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE()
+#endif
 ZEND_GET_MODULE(dba)
 #endif
 
@@ -515,6 +514,9 @@ PHP_INI_END()
  */
 static PHP_GINIT_FUNCTION(dba)
 {
+#if defined(COMPILE_DL_DBA) && defined(ZTS)
+       ZEND_TSRMLS_CACHE_UPDATE();
+#endif
        dba_globals->default_handler = "";
        dba_globals->default_hptr    = NULL;
 }
index 65edbb14016dc2b3672d223983b630b00e26ef9b..4eeda854b7f4e74c7844358fe7c62d0e932162a7 100644 (file)
@@ -112,7 +112,7 @@ PHP_ARG_WITH([imap-ssl],
 
 if test "$PHP_IMAP" != "no"; then
     PHP_SUBST(IMAP_SHARED_LIBADD)
-    PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
+    PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
     AC_DEFINE(HAVE_IMAP,1,[ ])
 
     for i in $PHP_IMAP /usr/local /usr; do
index 0f79659b77ceda4e3189677d05d1592c48298a58..594113b5d3420b4324f596b722993498e9e1e44a 100644 (file)
@@ -13,7 +13,7 @@ if (PHP_IMAP == "yes") {
                CHECK_LIB("ws2_32.lib", "imap");
                CHECK_LIB("Secur32.lib", "imap");
                CHECK_LIB("crypt32.lib", "imap");
-               EXTENSION("imap", "php_imap.c", true);
+               EXTENSION("imap", "php_imap.c", true, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
 
                ADD_FLAG("CFLAGS_IMAP", "/D HAVE_IMAP2000=1 /D HAVE_IMAP2004=1 /D HAVE_IMAP2007a=1 /D HAVE_IMAP2007b=1 /D HAVE_IMAP_SSL=1");
                AC_DEFINE('HAVE_IMAP', 1, 'Have IMAP support', true);
index 5802fa68c5aa06df10d59a65eb9ed68e1c18f013..86a4296a986d613a10d6c346daec537fe750542d 100644 (file)
@@ -592,6 +592,9 @@ zend_module_entry imap_module_entry = {
 /* }}} */
 
 #ifdef COMPILE_DL_IMAP
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE()
+#endif
 ZEND_GET_MODULE(imap)
 #endif
 
@@ -808,6 +811,9 @@ void mail_getacl(MAILSTREAM *stream, char *mailbox, ACLLIST *alist)
  */
 static PHP_GINIT_FUNCTION(imap)
 {
+#if defined(COMPILE_DL_IMAP) && defined(ZTS)
+       ZEND_TSRMLS_CACHE_UPDATE();
+#endif
        imap_globals->imap_user = NIL;
        imap_globals->imap_password = NIL;
 
index 74f461d1ca1cbbceb51e0eef8528adf595db4d98..c23799976c9d12605ff2681f12e42f2fa9cf73dd 100644 (file)
@@ -232,12 +232,13 @@ ZEND_BEGIN_MODULE_GLOBALS(imap)
        zend_bool enable_rsh;
 ZEND_END_MODULE_GLOBALS(imap)
 
-#ifdef ZTS
-# define IMAPG(v) TSRMG(imap_globals_id, zend_imap_globals *, v)
-#else
-# define IMAPG(v) (imap_globals.v)
+#if defined(ZTS) && defined(COMPILE_DL_IMAP)
+ZEND_TSRMLS_CACHE_EXTERN()
 #endif
 
+ZEND_EXTERN_MODULE_GLOBALS(imap)
+#define IMAPG(v) ZEND_MODULE_GLOBALS_ACCESSOR(imap, v)
+
 #else
 
 #define imap_module_ptr NULL
index 15cef2afffb9b2c1306ee9b8c644a064acce38a2..8b94c06225ff5e97dadd3c23ed2484facded7398 100644 (file)
@@ -96,7 +96,7 @@ PHP_ARG_WITH([ldap-sasl],
 
 if test "$PHP_LDAP" != "no"; then
 
-  PHP_NEW_EXTENSION(ldap, ldap.c, $ext_shared,,-DLDAP_DEPRECATED=1)
+  PHP_NEW_EXTENSION(ldap, ldap.c, $ext_shared,,-DLDAP_DEPRECATED=1 -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
 
   if test "$PHP_LDAP" = "yes"; then
     for i in /usr/local /usr; do
index a16a4fcd65354b1e3a2534140e63ea584f1a983e..49f740bd6514030a06e940cc8fcaf1a1e3d1b08b 100644 (file)
@@ -10,7 +10,7 @@ if (PHP_LDAP != "no") {
                        CHECK_LIB("oldap32_a.lib", "ldap", PHP_LDAP) &&
                        CHECK_LIB("olber32_a.lib", "ldap", PHP_LDAP)&&
                        CHECK_LIB("libsasl.lib", "ldap", PHP_LDAP)) {
-               EXTENSION('ldap', 'ldap.c');
+               EXTENSION('ldap', 'ldap.c', null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
 
                AC_DEFINE('HAVE_LDAP_PARSE_RESULT', 1);
                AC_DEFINE('HAVE_LDAP_PARSE_REFERENCE', 1);
index f58b09acaafad834a3dd38ade2806e2a308c9330..f191fb8345e7f7c52fbdb4d1b2ec8d569b7ed1e7 100644 (file)
@@ -96,6 +96,9 @@ static PHP_GINIT_FUNCTION(ldap);
 static int le_link, le_result, le_result_entry;
 
 #ifdef COMPILE_DL_LDAP
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE()
+#endif
 ZEND_GET_MODULE(ldap)
 #endif
 
@@ -661,6 +664,9 @@ PHP_INI_END()
  */
 static PHP_GINIT_FUNCTION(ldap)
 {
+#if defined(COMPILE_DL_LDAP) && defined(ZTS)
+       ZEND_TSRMLS_CACHE_UPDATE();
+#endif
        ldap_globals->num_links = 0;
 }
 /* }}} */
index 10b1d59b5f9974e606429cccddceebfcaded5490..f777fe9a5fdfa58bcbbfbc9c866939716ec42665 100644 (file)
@@ -43,12 +43,13 @@ ZEND_BEGIN_MODULE_GLOBALS(ldap)
        zend_long max_links;
 ZEND_END_MODULE_GLOBALS(ldap)
 
-#ifdef ZTS
-# define LDAPG(v) TSRMG(ldap_globals_id, zend_ldap_globals *, v)
-#else
-# define LDAPG(v) (ldap_globals.v)
+#if defined(ZTS) && defined(COMPILE_DL_LDAP)
+ZEND_TSRMLS_CACHE_EXTERN()
 #endif
 
+ZEND_EXTERN_MODULE_GLOBALS(ldap)
+#define LDAPG(v) ZEND_MODULE_GLOBALS_ACCESSOR(ldap, v)
+
 #define phpext_ldap_ptr ldap_module_ptr
 
 /* Constants for ldap_modify_batch */
index 1c83a1b671127c624d2f24387670a8b7b3a19bd6..c9672de0fb005eec49fb2e95ddab0b92b986a21f 100644 (file)
@@ -26,5 +26,5 @@ if test "$PHP_PCNTL" != "no"; then
     AC_MSG_RESULT([no])
   ])
 
-  PHP_NEW_EXTENSION(pcntl, pcntl.c php_signal.c, $ext_shared, cli, $PCNTL_CFLAGS)
+  PHP_NEW_EXTENSION(pcntl, pcntl.c php_signal.c, $ext_shared, cli, $PCNTL_CFLAGS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
 fi
index 1546e094f3f0cfa43150e6bf9e1ff20a70514401..0176ef89e957cb4dfb66d60b1793ab8df203a22c 100644 (file)
@@ -238,6 +238,9 @@ zend_module_entry pcntl_module_entry = {
 };
 
 #ifdef COMPILE_DL_PCNTL
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE()
+#endif
 ZEND_GET_MODULE(pcntl)
 #endif
 
@@ -576,6 +579,9 @@ static void php_pcntl_register_errno_constants(INIT_FUNC_ARGS)
 
 static PHP_GINIT_FUNCTION(pcntl)
 {
+#if defined(COMPILE_DL_PCNTL) && defined(ZTS)
+       ZEND_TSRMLS_CACHE_UPDATE();
+#endif
        memset(pcntl_globals, 0, sizeof(*pcntl_globals));
 }
 
index 3a912337546304ff28087aff561493dd7006c3db..90ce2aea9681327639bb2d87ee8eda925c9b7ca2 100644 (file)
@@ -91,12 +91,13 @@ ZEND_BEGIN_MODULE_GLOBALS(pcntl)
        zend_bool async_signals;
 ZEND_END_MODULE_GLOBALS(pcntl)
 
-#ifdef ZTS
-#define PCNTL_G(v) TSRMG(pcntl_globals_id, zend_pcntl_globals *, v)
-#else
-#define PCNTL_G(v)     (pcntl_globals.v)
+#if defined(ZTS) && defined(COMPILE_DL_PCNTL)
+ZEND_TSRMLS_CACHE_EXTERN()
 #endif
 
+ZEND_EXTERN_MODULE_GLOBALS(pcntl)
+#define PCNTL_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(pcntl, v)
+
 #define REGISTER_PCNTL_ERRNO_CONSTANT(name) REGISTER_LONG_CONSTANT("PCNTL_" #name, name, CONST_CS | CONST_PERSISTENT)
 
 #endif /* PHP_PCNTL_H */
index de770d4e5848b5627fdfadb3d822bf545e5e2809..7f6bd50e32b28d76785c33cde04a73f2e8c74ff4 100644 (file)
@@ -71,7 +71,7 @@ if test "$PHP_PDO_DBLIB" != "no"; then
   ])
 
   PDO_DBLIB_DEFS="-DPDO_DBLIB_FLAVOUR=\\\"freetds\\\""
-  PHP_NEW_EXTENSION(pdo_dblib, pdo_dblib.c dblib_driver.c dblib_stmt.c, $ext_shared,,-I$pdo_cv_inc_path $PDO_DBLIB_DEFS)
+  PHP_NEW_EXTENSION(pdo_dblib, pdo_dblib.c dblib_driver.c dblib_stmt.c, $ext_shared,,-I$pdo_cv_inc_path $PDO_DBLIB_DEFS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
   AC_CHECK_LIB(dnet_stub, dnet_addr,
      [ PHP_ADD_LIBRARY_WITH_PATH(dnet_stub,,PDO_DBLIB_SHARED_LIBADD)
         AC_DEFINE(HAVE_LIBDNET_STUB,1,[ ])
index 9ceed49205a7c7865152898b65d83021413bbde9..4b1c76130f525cadabbf62c3828f803ad4bdbedb 100644 (file)
@@ -10,7 +10,7 @@ if (PHP_PDO_DBLIB != "no") {
                        CHECK_HEADER_ADD_INCLUDE("sybfront.h", "CFLAGS_PDO_DBLIB",
                                PHP_PDO_DBLIB, null, null, true))
        {
-               EXTENSION("pdo_dblib", "pdo_dblib.c dblib_driver.c dblib_stmt.c");
+               EXTENSION("pdo_dblib", "pdo_dblib.c dblib_driver.c dblib_stmt.c", null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
                ADD_FLAG('CFLAGS_PDO_DBLIB', "/D PDO_DBLIB_FLAVOUR=\\\"freetds\\\"");
                ADD_EXTENSION_DEP('pdo_dblib', 'pdo');
        } else {
index 8ba7d6e413dc7f1d6a6f034b2f9a945b87a8a3ec..0272a12585d1260fcfa1c5ce2d4a621c76f6e896 100644 (file)
@@ -71,6 +71,9 @@ zend_module_entry pdo_dblib_module_entry = {
 };
 
 #if defined(COMPILE_DL_PDO_DBLIB) || defined(COMPILE_DL_PDO_MSSQL)
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE()
+#endif
 #if PDO_DBLIB_IS_MSSQL
 ZEND_GET_MODULE(pdo_mssql)
 #else
@@ -166,6 +169,9 @@ void pdo_dblib_err_dtor(pdo_dblib_err *err)
 
 static PHP_GINIT_FUNCTION(dblib)
 {
+#if defined(ZTS) && (defined(COMPILE_DL_PDO_DBLIB) || defined(COMPILE_DL_PDO_MSSQL))
+       ZEND_TSRMLS_CACHE_UPDATE();
+#endif
        memset(dblib_globals, 0, sizeof(*dblib_globals));
        dblib_globals->err.sqlstate = dblib_globals->sqlstate;
 }
index 5cf4d3076990d3c75804443a3d03a5a7adba5861..52ee3aafd9d9e0d16e81fd147ccedaadfd5db8ba 100644 (file)
@@ -145,12 +145,13 @@ ZEND_BEGIN_MODULE_GLOBALS(dblib)
        char sqlstate[6];
 ZEND_END_MODULE_GLOBALS(dblib)
 
-#ifdef ZTS
-# define DBLIB_G(v) TSRMG(dblib_globals_id, zend_dblib_globals *, v)
-#else
-# define DBLIB_G(v) (dblib_globals.v)
+#if defined(ZTS) && (defined(COMPILE_DL_PDO_DBLIB) || defined(COMPILE_DL_PDO_MSSQL))
+ZEND_TSRMLS_CACHE_EXTERN()
 #endif
 
+ZEND_EXTERN_MODULE_GLOBALS(dblib)
+#define DBLIB_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(dblib, v)
+
 ZEND_EXTERN_MODULE_GLOBALS(dblib)
 
 enum {
index f56f6c60cd952b4228ddc2f4e30ae97af1f2183b..ea674855977ae616084ef4e50042a95c56dc5692 100644 (file)
@@ -8,7 +8,7 @@ PHP_ARG_ENABLE([posix],
 
 if test "$PHP_POSIX" = "yes"; then
   AC_DEFINE(HAVE_POSIX, 1, [whether to include POSIX-like functions])
-  PHP_NEW_EXTENSION(posix, posix.c, $ext_shared)
+  PHP_NEW_EXTENSION(posix, posix.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
 
   AC_CHECK_HEADERS([sys/mkdev.h sys/sysmacros.h])
 
index 7fff314be2b284a065b0d9d234b10f081dd251e9..17d8b038c28b838b0d841face216e7e3d532330a 100644 (file)
@@ -125,12 +125,13 @@ ZEND_BEGIN_MODULE_GLOBALS(posix)
        int last_error;
 ZEND_END_MODULE_GLOBALS(posix)
 
-#ifdef ZTS
-# define POSIX_G(v) TSRMG(posix_globals_id, zend_posix_globals *, v)
-#else
-# define POSIX_G(v)    (posix_globals.v)
+#if defined(ZTS) && defined(COMPILE_DL_POSIX)
+ZEND_TSRMLS_CACHE_EXTERN()
 #endif
 
+ZEND_EXTERN_MODULE_GLOBALS(posix)
+#define POSIX_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(posix, v)
+
 #else
 
 #define posix_module_ptr NULL
index 3e723043948b28e7de18200007790e3a9047eb90..e95064d0fa322480431f097733132f69fdd951f6 100644 (file)
@@ -324,6 +324,9 @@ static PHP_MINFO_FUNCTION(posix)
 
 static PHP_GINIT_FUNCTION(posix) /* {{{ */
 {
+#if defined(COMPILE_DL_POSIX) && defined(ZTS)
+       ZEND_TSRMLS_CACHE_UPDATE();
+#endif
        posix_globals->last_error = 0;
 }
 /* }}} */
@@ -427,6 +430,9 @@ zend_module_entry posix_module_entry = {
 /* }}} */
 
 #ifdef COMPILE_DL_POSIX
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE()
+#endif
 ZEND_GET_MODULE(posix)
 #endif
 
index 8507577607488fa371376919c6874ad833d74630..537da2ead2bf9fdfdbd06dd14672dbfe9f95e21d 100644 (file)
@@ -59,5 +59,5 @@ recode_format_table();
   PHP_ADD_INCLUDE($RECODE_DIR/$RECODE_INC)
   PHP_SUBST(RECODE_SHARED_LIBADD)
   AC_CHECK_HEADERS(stdbool.h)
-  PHP_NEW_EXTENSION(recode, recode.c, $ext_shared)
+  PHP_NEW_EXTENSION(recode, recode.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
 fi
index 5330a6e20a34b9495b0aab09a00b661657ab3f44..74a1f1eded97faf1cfa74ddf690ec6cc51f128db 100644 (file)
@@ -55,11 +55,7 @@ ZEND_BEGIN_MODULE_GLOBALS(recode)
     RECODE_OUTER  outer;
 ZEND_END_MODULE_GLOBALS(recode)
 
-#ifdef ZTS
-# define ReSG(v) TSRMG(recode_globals_id, zend_recode_globals *, v)
-#else
-# define ReSG(v) (recode_globals.v)
-#endif
+#define ReSG(v) ZEND_MODULE_GLOBALS_ACCESSOR(recode, v)
 
 ZEND_DECLARE_MODULE_GLOBALS(recode)
 static PHP_GINIT_FUNCTION(recode);
@@ -103,11 +99,17 @@ zend_module_entry recode_module_entry = {
 };
 
 #ifdef COMPILE_DL_RECODE
+#ifdef ZTS
+ZEND_TSRMLS_CACHE_DEFINE()
+#endif
 ZEND_GET_MODULE(recode)
 #endif
 
 static PHP_GINIT_FUNCTION(recode)
 {
+#if defined(COMPILE_DL_RECODE) && defined(ZTS)
+       ZEND_TSRMLS_CACHE_UPDATE();
+#endif
        recode_globals->outer = NULL;
 }
 
index 411c4eb0ba5b396160ef893bfe6a23da5e56f559..ca09e341ab9e79da8fd934f34736860b97832bd5 100644 (file)
@@ -29,15 +29,13 @@ ZEND_BEGIN_MODULE_GLOBALS(sqlite3)
        int dbconfig_defensive;
 ZEND_END_MODULE_GLOBALS(sqlite3)
 
-#ifdef ZTS
-# define SQLITE3G(v) TSRMG(sqlite3_globals_id, zend_sqlite3_globals *, v)
-# ifdef COMPILE_DL_SQLITE3
+#if defined(ZTS) && defined(COMPILE_DL_SQLITE3)
 ZEND_TSRMLS_CACHE_EXTERN()
-# endif
-#else
-# define SQLITE3G(v) (sqlite3_globals.v)
 #endif
 
+ZEND_EXTERN_MODULE_GLOBALS(sqlite3)
+#define SQLITE3G(v) ZEND_MODULE_GLOBALS_ACCESSOR(sqlite3, v)
+
 #define PHP_SQLITE3_ASSOC      1<<0
 #define PHP_SQLITE3_NUM                1<<1
 #define PHP_SQLITE3_BOTH       (PHP_SQLITE3_ASSOC|PHP_SQLITE3_NUM)