mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
integrated the static tsrmls cache into ext/skel
This commit is contained in:
@@ -166,7 +166,7 @@ if test "\$PHP_$EXTNAME" != "no"; then
|
||||
dnl
|
||||
dnl PHP_SUBST(${EXTNAME}_SHARED_LIBADD)
|
||||
|
||||
PHP_NEW_EXTENSION($extname, $extname.c, \$ext_shared)
|
||||
PHP_NEW_EXTENSION($extname, $extname.c, \$ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
||||
fi
|
||||
eof
|
||||
|
||||
@@ -182,7 +182,7 @@ cat >config.w32 <<eof
|
||||
// ARG_ENABLE("$extname", "enable $extname support", "no");
|
||||
|
||||
if (PHP_$EXTNAME != "no") {
|
||||
EXTENSION("$extname", "$extname.c");
|
||||
EXTENSION("$extname", "$extname.c", PHP_EXTNAME_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
|
||||
}
|
||||
|
||||
eof
|
||||
|
||||
@@ -30,18 +30,16 @@ ZEND_BEGIN_MODULE_GLOBALS(extname)
|
||||
ZEND_END_MODULE_GLOBALS(extname)
|
||||
*/
|
||||
|
||||
/* In every utility function you add that needs to use variables
|
||||
in php_extname_globals, call TSRMLS_FETCH(); after declaring other
|
||||
variables used by that function, or better yet, pass in
|
||||
after the last function argument and declare your utility function
|
||||
with after the last declared argument. Always refer to
|
||||
the globals in your function as EXTNAME_G(variable). You are
|
||||
encouraged to rename these macros something shorter, see
|
||||
/* Always refer to the globals in your function as EXTNAME_G(variable).
|
||||
You are encouraged to rename these macros something shorter, see
|
||||
examples in any other php module directory.
|
||||
*/
|
||||
|
||||
#ifdef ZTS
|
||||
#define EXTNAME_G(v) TSRMG(extname_globals_id, zend_extname_globals *, v)
|
||||
#define EXTNAME_G(v) ZEND_TSRMG(extname_globals_id, zend_extname_globals *, v)
|
||||
#ifdef COMPILE_DL_EXTNAME
|
||||
ZEND_TSRMLS_CACHE_EXTERN;
|
||||
#endif
|
||||
#else
|
||||
#define EXTNAME_G(v) (extname_globals.v)
|
||||
#endif
|
||||
|
||||
@@ -95,6 +95,9 @@ PHP_MSHUTDOWN_FUNCTION(extname)
|
||||
*/
|
||||
PHP_RINIT_FUNCTION(extname)
|
||||
{
|
||||
#if defined(COMPILE_DL_EXTNAME) && defined(ZTS)
|
||||
ZEND_TSRMLS_CACHE_UPDATE;
|
||||
#endif
|
||||
return SUCCESS;
|
||||
}
|
||||
/* }}} */
|
||||
@@ -150,6 +153,9 @@ zend_module_entry extname_module_entry = {
|
||||
/* }}} */
|
||||
|
||||
#ifdef COMPILE_DL_EXTNAME
|
||||
#ifdef ZTS
|
||||
ZEND_TSRMLS_CACHE_DEFINE;
|
||||
#endif
|
||||
ZEND_GET_MODULE(extname)
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user