mirror of
https://github.com/php/php-src.git
synced 2024-11-23 18:04:36 +08:00
converted ext/sqlite and ext/pdo_mysql to use static tsrmls cache
This commit is contained in:
parent
073c79b8b5
commit
aac7b1db7c
@ -144,7 +144,7 @@ if test "$PHP_PDO_MYSQL" != "no"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
dnl fix after renaming to pdo_mysql
|
dnl fix after renaming to pdo_mysql
|
||||||
PHP_NEW_EXTENSION(pdo_mysql, pdo_mysql.c mysql_driver.c mysql_statement.c, $ext_shared,,-I$pdo_cv_inc_path -I)
|
PHP_NEW_EXTENSION(pdo_mysql, pdo_mysql.c mysql_driver.c mysql_statement.c, $ext_shared,,-I$pdo_cv_inc_path -I -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
||||||
ifdef([PHP_ADD_EXTENSION_DEP],
|
ifdef([PHP_ADD_EXTENSION_DEP],
|
||||||
[
|
[
|
||||||
PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo)
|
PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo)
|
||||||
|
@ -12,7 +12,7 @@ if (PHP_PDO_MYSQL != "no") {
|
|||||||
} else {
|
} else {
|
||||||
if (CHECK_LIB("libmysql.lib", "pdo_mysql", PHP_PDO_MYSQL) &&
|
if (CHECK_LIB("libmysql.lib", "pdo_mysql", PHP_PDO_MYSQL) &&
|
||||||
CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_PDO_MYSQL", PHP_PHP_BUILD + "\\include\\mysql;" + PHP_PDO_MYSQL)) {
|
CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_PDO_MYSQL", PHP_PHP_BUILD + "\\include\\mysql;" + PHP_PDO_MYSQL)) {
|
||||||
EXTENSION("pdo_mysql", "pdo_mysql.c mysql_driver.c mysql_statement.c");
|
EXTENSION("pdo_mysql", "pdo_mysql.c mysql_driver.c mysql_statement.c", null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
|
||||||
} else {
|
} else {
|
||||||
WARNING("pdo_mysql not enabled; libraries and headers not found");
|
WARNING("pdo_mysql not enabled; libraries and headers not found");
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,9 @@
|
|||||||
#include "php_pdo_mysql_int.h"
|
#include "php_pdo_mysql_int.h"
|
||||||
|
|
||||||
#ifdef COMPILE_DL_PDO_MYSQL
|
#ifdef COMPILE_DL_PDO_MYSQL
|
||||||
|
#ifdef ZTS
|
||||||
|
ZEND_TSRMLS_CACHE_DEFINE;
|
||||||
|
#endif
|
||||||
ZEND_GET_MODULE(pdo_mysql)
|
ZEND_GET_MODULE(pdo_mysql)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -206,6 +209,9 @@ static PHP_RSHUTDOWN_FUNCTION(pdo_mysql)
|
|||||||
*/
|
*/
|
||||||
static PHP_GINIT_FUNCTION(pdo_mysql)
|
static PHP_GINIT_FUNCTION(pdo_mysql)
|
||||||
{
|
{
|
||||||
|
#if defined(COMPILE_DL_PDO_MYSQL) && defined(ZTS)
|
||||||
|
ZEND_TSRMLS_CACHE_UPDATE;
|
||||||
|
#endif
|
||||||
#ifndef PHP_WIN32
|
#ifndef PHP_WIN32
|
||||||
pdo_mysql_globals->default_socket = NULL;
|
pdo_mysql_globals->default_socket = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
@ -83,7 +83,10 @@ ZEND_END_MODULE_GLOBALS(pdo_mysql)
|
|||||||
ZEND_EXTERN_MODULE_GLOBALS(pdo_mysql)
|
ZEND_EXTERN_MODULE_GLOBALS(pdo_mysql)
|
||||||
|
|
||||||
#ifdef ZTS
|
#ifdef ZTS
|
||||||
#define PDO_MYSQL_G(v) TSRMG(pdo_mysql_globals_id, zend_pdo_mysql_globals *, v)
|
#define PDO_MYSQL_G(v) ZEND_TSRMG(pdo_mysql_globals_id, zend_pdo_mysql_globals *, v)
|
||||||
|
# ifdef COMPILE_DL_PDO_MYSQL
|
||||||
|
ZEND_TSRMLS_CACHE_EXTERN;
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
#define PDO_MYSQL_G(v) (pdo_mysql_globals.v)
|
#define PDO_MYSQL_G(v) (pdo_mysql_globals.v)
|
||||||
#endif
|
#endif
|
||||||
|
@ -5,7 +5,7 @@ ARG_WITH("sqlite3", "SQLite 3 support", "no");
|
|||||||
|
|
||||||
if (PHP_SQLITE3 != "no") {
|
if (PHP_SQLITE3 != "no") {
|
||||||
ADD_FLAG("CFLAGS_SQLITE3", "/D SQLITE_THREADSAFE=" + (PHP_ZTS == "yes" ? "1" : "0") + " /D SQLITE_ENABLE_FTS3=1 /D SQLITE_ENABLE_COLUMN_METADATA=1 /D SQLITE_CORE=1 /D SQLITE_API=__declspec(dllexport) ");
|
ADD_FLAG("CFLAGS_SQLITE3", "/D SQLITE_THREADSAFE=" + (PHP_ZTS == "yes" ? "1" : "0") + " /D SQLITE_ENABLE_FTS3=1 /D SQLITE_ENABLE_COLUMN_METADATA=1 /D SQLITE_CORE=1 /D SQLITE_API=__declspec(dllexport) ");
|
||||||
EXTENSION("sqlite3", "sqlite3.c", null, "/I" + configure_module_dirname + "/libsqlite /I" + configure_module_dirname);
|
EXTENSION("sqlite3", "sqlite3.c", null, "/I" + configure_module_dirname + "/libsqlite /I" + configure_module_dirname + " /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
|
||||||
|
|
||||||
ADD_SOURCES(configure_module_dirname + "/libsqlite", "sqlite3.c", "sqlite3");
|
ADD_SOURCES(configure_module_dirname + "/libsqlite", "sqlite3.c", "sqlite3");
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ PHP_ARG_WITH(sqlite3, whether to enable the SQLite3 extension,
|
|||||||
|
|
||||||
if test $PHP_SQLITE3 != "no"; then
|
if test $PHP_SQLITE3 != "no"; then
|
||||||
sqlite3_extra_sources=""
|
sqlite3_extra_sources=""
|
||||||
PHP_SQLITE3_CFLAGS=""
|
PHP_SQLITE3_CFLAGS=" -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 "
|
||||||
|
|
||||||
dnl when running phpize enable_maintainer_zts is not available
|
dnl when running phpize enable_maintainer_zts is not available
|
||||||
if test -z "$enable_maintainer_zts"; then
|
if test -z "$enable_maintainer_zts"; then
|
||||||
|
@ -32,6 +32,9 @@ ZEND_END_MODULE_GLOBALS(sqlite3)
|
|||||||
|
|
||||||
#ifdef ZTS
|
#ifdef ZTS
|
||||||
# define SQLITE3G(v) TSRMG(sqlite3_globals_id, zend_sqlite3_globals *, v)
|
# define SQLITE3G(v) TSRMG(sqlite3_globals_id, zend_sqlite3_globals *, v)
|
||||||
|
# ifdef COMPILE_DL_SQLITE3
|
||||||
|
ZEND_TSRMLS_CACHE_EXTERN;
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
# define SQLITE3G(v) (sqlite3_globals.v)
|
# define SQLITE3G(v) (sqlite3_globals.v)
|
||||||
#endif
|
#endif
|
||||||
|
@ -2271,6 +2271,9 @@ PHP_MINFO_FUNCTION(sqlite3)
|
|||||||
*/
|
*/
|
||||||
static PHP_GINIT_FUNCTION(sqlite3)
|
static PHP_GINIT_FUNCTION(sqlite3)
|
||||||
{
|
{
|
||||||
|
#if defined(COMPILE_DL_SQLITE3) && defined(ZTS)
|
||||||
|
ZEND_TSRMLS_CACHE_UPDATE;
|
||||||
|
#endif
|
||||||
memset(sqlite3_globals, 0, sizeof(*sqlite3_globals));
|
memset(sqlite3_globals, 0, sizeof(*sqlite3_globals));
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
@ -2296,6 +2299,9 @@ zend_module_entry sqlite3_module_entry = {
|
|||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
#ifdef COMPILE_DL_SQLITE3
|
#ifdef COMPILE_DL_SQLITE3
|
||||||
|
#ifdef ZTS
|
||||||
|
ZEND_TSRMLS_CACHE_DEFINE;
|
||||||
|
#endif
|
||||||
ZEND_GET_MODULE(sqlite3)
|
ZEND_GET_MODULE(sqlite3)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user