summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-06-23 16:47:04 +0200
committerAnatol Belski <ab@php.net>2016-06-23 16:47:04 +0200
commitc9a538cdb441437181913c09bdc4425596e51f46 (patch)
tree505cd0d05b290ba752a03f436cfc8da8427d6be8
parent35bbcd17a91340f6003379a6aafa9ad38a741e4a (diff)
downloadphp-git-c9a538cdb441437181913c09bdc4425596e51f46.tar.gz
improve ZEND_MODULE_GLOBALS_BULK macro, fix data type
-rw-r--r--Zend/zend_API.h4
-rw-r--r--Zend/zend_execute_API.c10
2 files changed, 6 insertions, 8 deletions
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index 34612f879f..77127afa4b 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -158,7 +158,11 @@ typedef struct _zend_fcall_info_cache {
#define ZEND_INIT_MODULE_GLOBALS(module_name, globals_ctor, globals_dtor) \
ts_allocate_id(&module_name##_globals_id, sizeof(zend_##module_name##_globals), (ts_allocate_ctor) globals_ctor, (ts_allocate_dtor) globals_dtor);
#define ZEND_MODULE_GLOBALS_ACCESSOR(module_name, v) ZEND_TSRMG(module_name##_globals_id, zend_##module_name##_globals *, v)
+#if ZEND_ENABLE_STATIC_TSRMLS_CACHE
+#define ZEND_MODULE_GLOBALS_BULK(module_name) TSRMG_BULK_STATIC(module_name##_globals_id, zend_##module_name##_globals *)
+#else
#define ZEND_MODULE_GLOBALS_BULK(module_name) TSRMG_BULK(module_name##_globals_id, zend_##module_name##_globals *)
+#endif
#else
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index a914ae221a..d3dac690ca 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -1262,7 +1262,7 @@ VOID CALLBACK tq_timer_cb(PVOID arg, BOOLEAN timed_out)
static void zend_set_timeout_ex(zend_long seconds, int reset_signals) /* {{{ */
{
- zend_execute_data *eg;
+ zend_executor_globals *eg;
#ifdef ZEND_WIN32
if(!seconds) {
@@ -1282,13 +1282,7 @@ static void zend_set_timeout_ex(zend_long seconds, int reset_signals) /* {{{ */
}
/* XXX passing NULL means the default timer queue provided by the system is used */
-#ifndef ZTS
- eg = &execute_data;
-#elif defined(ZEND_ENABLE_STATIC_TSRMLS_CACHE)
- eg = TSRMG_BULK_STATIC(executor_globals_id, zend_executor_globals *)
-#else
- eg = TSRMG_BULK(executor_globals_id, zend_executor_globals *)
-#endif
+ eg = ZEND_MODULE_GLOBALS_BULK(executor);
if (!CreateTimerQueueTimer(&tq_timer, NULL, (WAITORTIMERCALLBACK)tq_timer_cb, (VOID*)eg, seconds*1000, 0, WT_EXECUTEONLYONCE)) {
tq_timer = NULL;
zend_error_noreturn(E_ERROR, "Could not queue new timer");