Skip to content

Commit 5f09db3

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: Switch to use ZTS cache
2 parents c56bd7e + f1b306f commit 5f09db3

24 files changed

+84
-47
lines changed

ext/dba/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ if test "$HAVE_DBA" = "1"; then
700700
AC_MSG_RESULT([yes])
701701
fi
702702
AC_DEFINE(HAVE_DBA, 1, [ ])
703-
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)
703+
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)
704704
PHP_ADD_BUILD_DIR($ext_builddir/libinifile)
705705
PHP_ADD_BUILD_DIR($ext_builddir/libcdb)
706706
PHP_ADD_BUILD_DIR($ext_builddir/libflatfile)

ext/dba/config.w32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ARG_WITH("db", "DBA: Berkeley DB support", "no");
66
ARG_WITH("lmdb", "DBA: Lightning memory-mapped database support", "no");
77

88
if (PHP_DBA != "no") {
9-
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");
9+
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");
1010
ADD_SOURCES("ext/dba/libcdb", "cdb.c cdb_make.c uint32.c", "dba");
1111
ADD_SOURCES("ext/dba/libflatfile", "flatfile.c", "dba");
1212
ADD_SOURCES("ext/dba/libinifile", "inifile.c", "dba");

ext/dba/dba.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,11 +160,7 @@ ZEND_END_MODULE_GLOBALS(dba)
160160

161161
ZEND_DECLARE_MODULE_GLOBALS(dba)
162162

163-
#ifdef ZTS
164-
#define DBA_G(v) TSRMG(dba_globals_id, zend_dba_globals *, v)
165-
#else
166-
#define DBA_G(v) (dba_globals.v)
167-
#endif
163+
#define DBA_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(dba, v)
168164

169165
static PHP_GINIT_FUNCTION(dba);
170166

@@ -186,6 +182,9 @@ zend_module_entry dba_module_entry = {
186182
};
187183

188184
#ifdef COMPILE_DL_DBA
185+
#ifdef ZTS
186+
ZEND_TSRMLS_CACHE_DEFINE()
187+
#endif
189188
ZEND_GET_MODULE(dba)
190189
#endif
191190

@@ -515,6 +514,9 @@ PHP_INI_END()
515514
*/
516515
static PHP_GINIT_FUNCTION(dba)
517516
{
517+
#if defined(COMPILE_DL_DBA) && defined(ZTS)
518+
ZEND_TSRMLS_CACHE_UPDATE();
519+
#endif
518520
dba_globals->default_handler = "";
519521
dba_globals->default_hptr = NULL;
520522
}

ext/imap/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ PHP_ARG_WITH([imap-ssl],
112112

113113
if test "$PHP_IMAP" != "no"; then
114114
PHP_SUBST(IMAP_SHARED_LIBADD)
115-
PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
115+
PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
116116
AC_DEFINE(HAVE_IMAP,1,[ ])
117117

118118
for i in $PHP_IMAP /usr/local /usr; do

ext/imap/config.w32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ if (PHP_IMAP == "yes") {
1313
CHECK_LIB("ws2_32.lib", "imap");
1414
CHECK_LIB("Secur32.lib", "imap");
1515
CHECK_LIB("crypt32.lib", "imap");
16-
EXTENSION("imap", "php_imap.c", true);
16+
EXTENSION("imap", "php_imap.c", true, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
1717

1818
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");
1919
AC_DEFINE('HAVE_IMAP', 1, 'Have IMAP support', true);

ext/imap/php_imap.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,9 @@ zend_module_entry imap_module_entry = {
592592
/* }}} */
593593

594594
#ifdef COMPILE_DL_IMAP
595+
#ifdef ZTS
596+
ZEND_TSRMLS_CACHE_DEFINE()
597+
#endif
595598
ZEND_GET_MODULE(imap)
596599
#endif
597600

@@ -808,6 +811,9 @@ void mail_getacl(MAILSTREAM *stream, char *mailbox, ACLLIST *alist)
808811
*/
809812
static PHP_GINIT_FUNCTION(imap)
810813
{
814+
#if defined(COMPILE_DL_IMAP) && defined(ZTS)
815+
ZEND_TSRMLS_CACHE_UPDATE();
816+
#endif
811817
imap_globals->imap_user = NIL;
812818
imap_globals->imap_password = NIL;
813819

ext/imap/php_imap.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,12 +232,13 @@ ZEND_BEGIN_MODULE_GLOBALS(imap)
232232
zend_bool enable_rsh;
233233
ZEND_END_MODULE_GLOBALS(imap)
234234

235-
#ifdef ZTS
236-
# define IMAPG(v) TSRMG(imap_globals_id, zend_imap_globals *, v)
237-
#else
238-
# define IMAPG(v) (imap_globals.v)
235+
#if defined(ZTS) && defined(COMPILE_DL_IMAP)
236+
ZEND_TSRMLS_CACHE_EXTERN()
239237
#endif
240238

239+
ZEND_EXTERN_MODULE_GLOBALS(imap)
240+
#define IMAPG(v) ZEND_MODULE_GLOBALS_ACCESSOR(imap, v)
241+
241242
#else
242243

243244
#define imap_module_ptr NULL

ext/ldap/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ PHP_ARG_WITH([ldap-sasl],
9696

9797
if test "$PHP_LDAP" != "no"; then
9898

99-
PHP_NEW_EXTENSION(ldap, ldap.c, $ext_shared,,)
99+
PHP_NEW_EXTENSION(ldap, ldap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
100100

101101
if test "$PHP_LDAP" = "yes"; then
102102
for i in /usr/local /usr; do

ext/ldap/config.w32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ if (PHP_LDAP != "no") {
1010
CHECK_LIB("oldap32_a.lib", "ldap", PHP_LDAP) &&
1111
CHECK_LIB("olber32_a.lib", "ldap", PHP_LDAP)&&
1212
CHECK_LIB("libsasl.lib", "ldap", PHP_LDAP)) {
13-
EXTENSION('ldap', 'ldap.c');
13+
EXTENSION('ldap', 'ldap.c', null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
1414

1515
AC_DEFINE('HAVE_LDAP_PARSE_RESULT', 1);
1616
AC_DEFINE('HAVE_LDAP_PARSE_REFERENCE', 1);

ext/ldap/ldap.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ static PHP_GINIT_FUNCTION(ldap);
9696
static int le_link, le_result, le_result_entry;
9797

9898
#ifdef COMPILE_DL_LDAP
99+
#ifdef ZTS
100+
ZEND_TSRMLS_CACHE_DEFINE()
101+
#endif
99102
ZEND_GET_MODULE(ldap)
100103
#endif
101104

@@ -661,6 +664,9 @@ PHP_INI_END()
661664
*/
662665
static PHP_GINIT_FUNCTION(ldap)
663666
{
667+
#if defined(COMPILE_DL_LDAP) && defined(ZTS)
668+
ZEND_TSRMLS_CACHE_UPDATE();
669+
#endif
664670
ldap_globals->num_links = 0;
665671
}
666672
/* }}} */

ext/ldap/php_ldap.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,13 @@ ZEND_BEGIN_MODULE_GLOBALS(ldap)
4343
zend_long max_links;
4444
ZEND_END_MODULE_GLOBALS(ldap)
4545

46-
#ifdef ZTS
47-
# define LDAPG(v) TSRMG(ldap_globals_id, zend_ldap_globals *, v)
48-
#else
49-
# define LDAPG(v) (ldap_globals.v)
46+
#if defined(ZTS) && defined(COMPILE_DL_LDAP)
47+
ZEND_TSRMLS_CACHE_EXTERN()
5048
#endif
5149

50+
ZEND_EXTERN_MODULE_GLOBALS(ldap)
51+
#define LDAPG(v) ZEND_MODULE_GLOBALS_ACCESSOR(ldap, v)
52+
5253
#define phpext_ldap_ptr ldap_module_ptr
5354

5455
/* Constants for ldap_modify_batch */

ext/pcntl/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ if test "$PHP_PCNTL" != "no"; then
2626
AC_MSG_RESULT([no])
2727
])
2828

29-
PHP_NEW_EXTENSION(pcntl, pcntl.c php_signal.c, $ext_shared, cli, $PCNTL_CFLAGS)
29+
PHP_NEW_EXTENSION(pcntl, pcntl.c php_signal.c, $ext_shared, cli, $PCNTL_CFLAGS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
3030
fi

ext/pcntl/pcntl.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,9 @@ zend_module_entry pcntl_module_entry = {
238238
};
239239

240240
#ifdef COMPILE_DL_PCNTL
241+
#ifdef ZTS
242+
ZEND_TSRMLS_CACHE_DEFINE()
243+
#endif
241244
ZEND_GET_MODULE(pcntl)
242245
#endif
243246

@@ -576,6 +579,9 @@ static void php_pcntl_register_errno_constants(INIT_FUNC_ARGS)
576579

577580
static PHP_GINIT_FUNCTION(pcntl)
578581
{
582+
#if defined(COMPILE_DL_PCNTL) && defined(ZTS)
583+
ZEND_TSRMLS_CACHE_UPDATE();
584+
#endif
579585
memset(pcntl_globals, 0, sizeof(*pcntl_globals));
580586
}
581587

ext/pcntl/php_pcntl.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,13 @@ ZEND_BEGIN_MODULE_GLOBALS(pcntl)
9191
zend_bool async_signals;
9292
ZEND_END_MODULE_GLOBALS(pcntl)
9393

94-
#ifdef ZTS
95-
#define PCNTL_G(v) TSRMG(pcntl_globals_id, zend_pcntl_globals *, v)
96-
#else
97-
#define PCNTL_G(v) (pcntl_globals.v)
94+
#if defined(ZTS) && defined(COMPILE_DL_PCNTL)
95+
ZEND_TSRMLS_CACHE_EXTERN()
9896
#endif
9997

98+
ZEND_EXTERN_MODULE_GLOBALS(pcntl)
99+
#define PCNTL_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(pcntl, v)
100+
100101
#define REGISTER_PCNTL_ERRNO_CONSTANT(name) REGISTER_LONG_CONSTANT("PCNTL_" #name, name, CONST_CS | CONST_PERSISTENT)
101102

102103
#endif /* PHP_PCNTL_H */

ext/pdo_dblib/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ if test "$PHP_PDO_DBLIB" != "no"; then
7171
])
7272

7373
PDO_DBLIB_DEFS="-DPDO_DBLIB_FLAVOUR=\\\"freetds\\\""
74-
PHP_NEW_EXTENSION(pdo_dblib, pdo_dblib.c dblib_driver.c dblib_stmt.c, $ext_shared,,-I$pdo_cv_inc_path $PDO_DBLIB_DEFS)
74+
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)
7575
AC_CHECK_LIB(dnet_stub, dnet_addr,
7676
[ PHP_ADD_LIBRARY_WITH_PATH(dnet_stub,,PDO_DBLIB_SHARED_LIBADD)
7777
AC_DEFINE(HAVE_LIBDNET_STUB,1,[ ])

ext/pdo_dblib/config.w32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ if (PHP_PDO_DBLIB != "no") {
1010
CHECK_HEADER_ADD_INCLUDE("sybfront.h", "CFLAGS_PDO_DBLIB",
1111
PHP_PDO_DBLIB, null, null, true))
1212
{
13-
EXTENSION("pdo_dblib", "pdo_dblib.c dblib_driver.c dblib_stmt.c");
13+
EXTENSION("pdo_dblib", "pdo_dblib.c dblib_driver.c dblib_stmt.c", null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
1414
ADD_FLAG('CFLAGS_PDO_DBLIB', "/D PDO_DBLIB_FLAVOUR=\\\"freetds\\\"");
1515
ADD_EXTENSION_DEP('pdo_dblib', 'pdo');
1616
} else {

ext/pdo_dblib/pdo_dblib.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ zend_module_entry pdo_dblib_module_entry = {
7171
};
7272

7373
#if defined(COMPILE_DL_PDO_DBLIB) || defined(COMPILE_DL_PDO_MSSQL)
74+
#ifdef ZTS
75+
ZEND_TSRMLS_CACHE_DEFINE()
76+
#endif
7477
#if PDO_DBLIB_IS_MSSQL
7578
ZEND_GET_MODULE(pdo_mssql)
7679
#else
@@ -166,6 +169,9 @@ void pdo_dblib_err_dtor(pdo_dblib_err *err)
166169

167170
static PHP_GINIT_FUNCTION(dblib)
168171
{
172+
#if defined(ZTS) && (defined(COMPILE_DL_PDO_DBLIB) || defined(COMPILE_DL_PDO_MSSQL))
173+
ZEND_TSRMLS_CACHE_UPDATE();
174+
#endif
169175
memset(dblib_globals, 0, sizeof(*dblib_globals));
170176
dblib_globals->err.sqlstate = dblib_globals->sqlstate;
171177
}

ext/pdo_dblib/php_pdo_dblib_int.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,13 @@ ZEND_BEGIN_MODULE_GLOBALS(dblib)
145145
char sqlstate[6];
146146
ZEND_END_MODULE_GLOBALS(dblib)
147147

148-
#ifdef ZTS
149-
# define DBLIB_G(v) TSRMG(dblib_globals_id, zend_dblib_globals *, v)
150-
#else
151-
# define DBLIB_G(v) (dblib_globals.v)
148+
#if defined(ZTS) && (defined(COMPILE_DL_PDO_DBLIB) || defined(COMPILE_DL_PDO_MSSQL))
149+
ZEND_TSRMLS_CACHE_EXTERN()
152150
#endif
153151

152+
ZEND_EXTERN_MODULE_GLOBALS(dblib)
153+
#define DBLIB_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(dblib, v)
154+
154155
ZEND_EXTERN_MODULE_GLOBALS(dblib)
155156

156157
enum {

ext/posix/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ PHP_ARG_ENABLE([posix],
88

99
if test "$PHP_POSIX" = "yes"; then
1010
AC_DEFINE(HAVE_POSIX, 1, [whether to include POSIX-like functions])
11-
PHP_NEW_EXTENSION(posix, posix.c, $ext_shared)
11+
PHP_NEW_EXTENSION(posix, posix.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
1212

1313
AC_CHECK_HEADERS([sys/mkdev.h sys/sysmacros.h])
1414

ext/posix/php_posix.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,13 @@ ZEND_BEGIN_MODULE_GLOBALS(posix)
125125
int last_error;
126126
ZEND_END_MODULE_GLOBALS(posix)
127127

128-
#ifdef ZTS
129-
# define POSIX_G(v) TSRMG(posix_globals_id, zend_posix_globals *, v)
130-
#else
131-
# define POSIX_G(v) (posix_globals.v)
128+
#if defined(ZTS) && defined(COMPILE_DL_POSIX)
129+
ZEND_TSRMLS_CACHE_EXTERN()
132130
#endif
133131

132+
ZEND_EXTERN_MODULE_GLOBALS(posix)
133+
#define POSIX_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(posix, v)
134+
134135
#else
135136

136137
#define posix_module_ptr NULL

ext/posix/posix.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,9 @@ static PHP_MINFO_FUNCTION(posix)
324324

325325
static PHP_GINIT_FUNCTION(posix) /* {{{ */
326326
{
327+
#if defined(COMPILE_DL_POSIX) && defined(ZTS)
328+
ZEND_TSRMLS_CACHE_UPDATE();
329+
#endif
327330
posix_globals->last_error = 0;
328331
}
329332
/* }}} */
@@ -427,6 +430,9 @@ zend_module_entry posix_module_entry = {
427430
/* }}} */
428431

429432
#ifdef COMPILE_DL_POSIX
433+
#ifdef ZTS
434+
ZEND_TSRMLS_CACHE_DEFINE()
435+
#endif
430436
ZEND_GET_MODULE(posix)
431437
#endif
432438

ext/recode/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,5 @@ recode_format_table();
5959
PHP_ADD_INCLUDE($RECODE_DIR/$RECODE_INC)
6060
PHP_SUBST(RECODE_SHARED_LIBADD)
6161
AC_CHECK_HEADERS(stdbool.h)
62-
PHP_NEW_EXTENSION(recode, recode.c, $ext_shared)
62+
PHP_NEW_EXTENSION(recode, recode.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
6363
fi

ext/recode/recode.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,7 @@ ZEND_BEGIN_MODULE_GLOBALS(recode)
5555
RECODE_OUTER outer;
5656
ZEND_END_MODULE_GLOBALS(recode)
5757

58-
#ifdef ZTS
59-
# define ReSG(v) TSRMG(recode_globals_id, zend_recode_globals *, v)
60-
#else
61-
# define ReSG(v) (recode_globals.v)
62-
#endif
58+
#define ReSG(v) ZEND_MODULE_GLOBALS_ACCESSOR(recode, v)
6359

6460
ZEND_DECLARE_MODULE_GLOBALS(recode)
6561
static PHP_GINIT_FUNCTION(recode);
@@ -103,11 +99,17 @@ zend_module_entry recode_module_entry = {
10399
};
104100

105101
#ifdef COMPILE_DL_RECODE
102+
#ifdef ZTS
103+
ZEND_TSRMLS_CACHE_DEFINE()
104+
#endif
106105
ZEND_GET_MODULE(recode)
107106
#endif
108107

109108
static PHP_GINIT_FUNCTION(recode)
110109
{
110+
#if defined(COMPILE_DL_RECODE) && defined(ZTS)
111+
ZEND_TSRMLS_CACHE_UPDATE();
112+
#endif
111113
recode_globals->outer = NULL;
112114
}
113115

ext/sqlite3/php_sqlite3.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,13 @@ ZEND_BEGIN_MODULE_GLOBALS(sqlite3)
2929
int dbconfig_defensive;
3030
ZEND_END_MODULE_GLOBALS(sqlite3)
3131

32-
#ifdef ZTS
33-
# define SQLITE3G(v) TSRMG(sqlite3_globals_id, zend_sqlite3_globals *, v)
34-
# ifdef COMPILE_DL_SQLITE3
32+
#if defined(ZTS) && defined(COMPILE_DL_SQLITE3)
3533
ZEND_TSRMLS_CACHE_EXTERN()
36-
# endif
37-
#else
38-
# define SQLITE3G(v) (sqlite3_globals.v)
3934
#endif
4035

36+
ZEND_EXTERN_MODULE_GLOBALS(sqlite3)
37+
#define SQLITE3G(v) ZEND_MODULE_GLOBALS_ACCESSOR(sqlite3, v)
38+
4139
#define PHP_SQLITE3_ASSOC 1<<0
4240
#define PHP_SQLITE3_NUM 1<<1
4341
#define PHP_SQLITE3_BOTH (PHP_SQLITE3_ASSOC|PHP_SQLITE3_NUM)

0 commit comments

Comments
 (0)