diff options
Diffstat (limited to 'ext/opcache/ZendAccelerator.c')
-rw-r--r-- | ext/opcache/ZendAccelerator.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index beab9be59c..d36827bde6 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -1821,6 +1821,8 @@ static void zend_reset_cache_vars(TSRMLS_D) static void accel_activate(void) { + TSRMLS_FETCH(); + if (!ZCG(enabled) || !accel_startup_ok) { return; } @@ -1932,6 +1934,7 @@ static void accel_fast_zval_dtor(zval *zvalue) if (Z_REFCOUNTED_P(zvalue) && Z_DELREF_P(zvalue) == 0) { switch (Z_TYPE_P(zvalue)) { case IS_ARRAY: { + TSRMLS_FETCH(); GC_REMOVE_FROM_BUFFER(Z_ARR_P(zvalue)); if (Z_ARR_P(zvalue) != &EG(symbol_table)) { /* break possible cycles */ @@ -1942,11 +1945,15 @@ static void accel_fast_zval_dtor(zval *zvalue) break; case IS_OBJECT: { + TSRMLS_FETCH(); + OBJ_RELEASE(Z_OBJ_P(zvalue)); } break; case IS_RESOURCE: { + TSRMLS_FETCH(); + /* destroy resource */ zend_list_delete(Z_RES_P(zvalue)); } @@ -2082,6 +2089,7 @@ static void accel_deactivate(void) * In general, they're restored by persistent_compile_file(), but in case * the script is aborted abnormally, they may become messed up. */ + TSRMLS_FETCH(); if (!ZCG(enabled) || !accel_startup_ok) { return; @@ -2255,6 +2263,7 @@ static int accel_startup(zend_extension *extension) { zend_function *func; zend_ini_entry *ini_entry; + TSRMLS_FETCH(); #ifdef ZTS accel_globals_id = ts_allocate_id(&accel_globals_id, sizeof(zend_accel_globals), (ts_allocate_ctor) accel_globals_ctor, (ts_allocate_dtor) accel_globals_dtor); |