diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/SAPI.c | 3 | ||||
-rw-r--r-- | main/SAPI.h | 2 | ||||
-rw-r--r-- | main/output.c | 4 | ||||
-rw-r--r-- | main/php_globals.h | 2 | ||||
-rw-r--r-- | main/php_output.h | 8 |
5 files changed, 10 insertions, 9 deletions
diff --git a/main/SAPI.c b/main/SAPI.c index b1be4443d2..b2768965a0 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -64,6 +64,9 @@ static void _type_dtor(zval *zv) static void sapi_globals_ctor(sapi_globals_struct *sapi_globals TSRMLS_DC) { +#ifdef ZTS + ZEND_TSRMLS_CACHE_UPDATE; +#endif memset(sapi_globals, 0, sizeof(*sapi_globals)); zend_hash_init_ex(&sapi_globals->known_post_content_types, 8, NULL, _type_dtor, 1, 0); php_setup_sapi_content_types(TSRMLS_C); diff --git a/main/SAPI.h b/main/SAPI.h index 79661371d9..c4eb86dea8 100644 --- a/main/SAPI.h +++ b/main/SAPI.h @@ -142,7 +142,7 @@ typedef struct _sapi_globals_struct { BEGIN_EXTERN_C() #ifdef ZTS -# define SG(v) TSRMG(sapi_globals_id, sapi_globals_struct *, v) +# define SG(v) ZEND_TSRMG(sapi_globals_id, sapi_globals_struct *, v) SAPI_API extern int sapi_globals_id; #else # define SG(v) (sapi_globals.v) diff --git a/main/output.c b/main/output.c index c8b41ba1eb..7811316358 100644 --- a/main/output.c +++ b/main/output.c @@ -81,6 +81,7 @@ static int php_output_handler_devnull_func(void **handler_context, php_output_co * Initialize the module globals on MINIT */ static inline void php_output_init_globals(zend_output_globals *G) { + ZEND_TSRMLS_CACHE_UPDATE; memset(G, 0, sizeof(*G)); } /* }}} */ @@ -160,7 +161,7 @@ PHPAPI void php_output_shutdown(void) PHPAPI int php_output_activate(TSRMLS_D) { #ifdef ZTS - memset((*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(output_globals_id)], 0, sizeof(zend_output_globals)); + memset((*((void ***) ZEND_TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(output_globals_id)], 0, sizeof(zend_output_globals)); #else memset(&output_globals, 0, sizeof(zend_output_globals)); #endif @@ -784,7 +785,6 @@ static inline php_output_context *php_output_context_init(php_output_context *co } memset(context, 0, sizeof(php_output_context)); - TSRMLS_SET_CTX(context->tsrm_ls); context->op = op; return context; diff --git a/main/php_globals.h b/main/php_globals.h index a60efe69de..76933d8f07 100644 --- a/main/php_globals.h +++ b/main/php_globals.h @@ -26,7 +26,7 @@ typedef struct _php_core_globals php_core_globals; #ifdef ZTS -# define PG(v) TSRMG(core_globals_id, php_core_globals *, v) +# define PG(v) ZEND_TSRMG(core_globals_id, php_core_globals *, v) extern PHPAPI int core_globals_id; #else # define PG(v) (core_globals.v) diff --git a/main/php_output.h b/main/php_output.h index 535b09b46c..bf756de5ce 100644 --- a/main/php_output.h +++ b/main/php_output.h @@ -102,12 +102,10 @@ typedef struct _php_output_context { int op; php_output_buffer in; php_output_buffer out; -#ifdef ZTS - void ***tsrm_ls; -#endif } php_output_context; -#define PHP_OUTPUT_TSRMLS(ctx) TSRMLS_FETCH_FROM_CTX((ctx)->tsrm_ls) +/* XXX remove this after TLS branch merge */ +#define PHP_OUTPUT_TSRMLS(ctx) /* old-style, stateless callback */ typedef void (*php_output_handler_func_t)(char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode TSRMLS_DC); @@ -155,7 +153,7 @@ PHPAPI ZEND_EXTERN_MODULE_GLOBALS(output); /* there should not be a need to use OG() from outside of output.c */ #ifdef ZTS -# define OG(v) TSRMG(output_globals_id, zend_output_globals *, v) +# define OG(v) ZEND_TSRMG(output_globals_id, zend_output_globals *, v) #else # define OG(v) (output_globals.v) #endif |