Skip to content

Commit af21b3b

Browse files
committed
get rid of TSRMLS_* in the embed SAPI
1 parent 4acc56d commit af21b3b

File tree

2 files changed

+12
-26
lines changed

2 files changed

+12
-26
lines changed

sapi/embed/php_embed.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ const char HARDCODED_INI[] =
3333
"max_execution_time=0\n"
3434
"max_input_time=-1\n\0";
3535

36+
#if defined(PHP_WIN32) && defined(ZTS)
37+
ZEND_TSRMLS_CACHE_DEFINE;
38+
#endif
39+
3640
static char* php_embed_read_cookies(void)
3741
{
3842
return NULL;
@@ -152,12 +156,9 @@ static const zend_function_entry additional_functions[] = {
152156
{NULL, NULL, NULL}
153157
};
154158

155-
EMBED_SAPI_API int php_embed_init(int argc, char **argv PTSRMLS_DC)
159+
EMBED_SAPI_API int php_embed_init(int argc, char **argv)
156160
{
157161
zend_llist global_vars;
158-
#ifdef ZTS
159-
void ***tsrm_ls = NULL;
160-
#endif
161162

162163
#ifdef HAVE_SIGNAL_H
163164
#if defined(SIGPIPE) && defined(SIG_IGN)
@@ -172,8 +173,8 @@ EMBED_SAPI_API int php_embed_init(int argc, char **argv PTSRMLS_DC)
172173

173174
#ifdef ZTS
174175
tsrm_startup(1, 1, 0, NULL);
175-
tsrm_ls = ts_resource(0);
176-
*ptsrm_ls = tsrm_ls;
176+
(void)ts_resource(0);
177+
ZEND_TSRMLS_CACHE_UPDATE;
177178
#endif
178179

179180
sapi_startup(&php_embed_module);

sapi/embed/php_embed.h

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,29 +27,10 @@
2727
#include <main/php_ini.h>
2828
#include <zend_ini.h>
2929

30-
#ifdef ZTS
31-
#define PTSRMLS_D void ****ptsrm_ls
32-
#define PTSRMLS_DC , PTSRMLS_D
33-
#define PTSRMLS_C &tsrm_ls
34-
#define PTSRMLS_CC , PTSRMLS_C
35-
36-
#define PHP_EMBED_START_BLOCK(x,y) { \
37-
void ***tsrm_ls; \
38-
php_embed_init(x, y PTSRMLS_CC); \
39-
zend_first_try {
40-
41-
#else
42-
#define PTSRMLS_D
43-
#define PTSRMLS_DC
44-
#define PTSRMLS_C
45-
#define PTSRMLS_CC
46-
4730
#define PHP_EMBED_START_BLOCK(x,y) { \
4831
php_embed_init(x, y); \
4932
zend_first_try {
5033

51-
#endif
52-
5334
#define PHP_EMBED_END_BLOCK() \
5435
} zend_catch { \
5536
/* int exit_status = EG(exit_status); */ \
@@ -63,8 +44,12 @@
6344
#define EMBED_SAPI_API
6445
#endif
6546

47+
#ifdef ZTS
48+
ZEND_TSRMLS_CACHE_EXTERN;
49+
#endif
50+
6651
BEGIN_EXTERN_C()
67-
EMBED_SAPI_API int php_embed_init(int argc, char **argv PTSRMLS_DC);
52+
EMBED_SAPI_API int php_embed_init(int argc, char **argv);
6853
EMBED_SAPI_API void php_embed_shutdown(void);
6954
extern EMBED_SAPI_API sapi_module_struct php_embed_module;
7055
END_EXTERN_C()

0 commit comments

Comments
 (0)