summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TSRM/TSRM.h2
-rw-r--r--sapi/embed/php_embed.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h
index 4ecee6311f..1485b38e7d 100644
--- a/TSRM/TSRM.h
+++ b/TSRM/TSRM.h
@@ -181,8 +181,10 @@ TSRM_API uint8_t tsrm_is_main_thread(void);
#define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE = NULL;
#if ZEND_DEBUG
#define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache()
+#define TSRMLS_CACHE_RESET()
#else
#define TSRMLS_CACHE_UPDATE() if (!TSRMLS_CACHE) TSRMLS_CACHE = tsrm_get_ls_cache()
+#define TSRMLS_CACHE_RESET() TSRMLS_CACHE = NULL
#endif
#define TSRMLS_CACHE _tsrm_ls_cache
diff --git a/sapi/embed/php_embed.c b/sapi/embed/php_embed.c
index e444610d77..e2a27a192c 100644
--- a/sapi/embed/php_embed.c
+++ b/sapi/embed/php_embed.c
@@ -227,6 +227,7 @@ EMBED_SAPI_API void php_embed_shutdown(void)
sapi_shutdown();
#ifdef ZTS
tsrm_shutdown();
+ TSRMLS_CACHE_RESET();
#endif
if (php_embed_module.ini_entries) {
free(php_embed_module.ini_entries);