From 4042f543c409669993223cc4d3b878a92567d0f0 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 20 Jun 2016 15:50:41 +0300 Subject: HANDLE_BLOCK/UNBLOCK_INTERRUPTIONS() protection on inter-process data is completely useless now. Historicaly, these macros were introduced as a protection from execution timeout handling, but we don't need them anymore after "safe execution timeout" implementation. These macros are still useful to protect from termination during inner process data modification, because of OS signals (e.g. SIGTERM during OPcache SHM update). --- Zend/zend_string.c | 6 ------ 1 file changed, 6 deletions(-) (limited to 'Zend/zend_string.c') diff --git a/Zend/zend_string.c b/Zend/zend_string.c index 7b64dd6256..612c8049ef 100644 --- a/Zend/zend_string.c +++ b/Zend/zend_string.c @@ -161,7 +161,6 @@ static zend_string *zend_new_interned_string_int(zend_string *str) void *old_data = HT_GET_DATA_ADDR(&CG(interned_strings)); Bucket *old_buckets = CG(interned_strings).arData; - HANDLE_BLOCK_INTERRUPTIONS(); CG(interned_strings).nTableSize += CG(interned_strings).nTableSize; CG(interned_strings).nTableMask = -CG(interned_strings).nTableSize; new_data = malloc(HT_SIZE(&CG(interned_strings))); @@ -175,12 +174,9 @@ static zend_string *zend_new_interned_string_int(zend_string *str) CG(interned_strings).nTableSize = CG(interned_strings).nTableSize >> 1; CG(interned_strings).nTableMask = -CG(interned_strings).nTableSize; } - HANDLE_UNBLOCK_INTERRUPTIONS(); } } - HANDLE_BLOCK_INTERRUPTIONS(); - idx = CG(interned_strings).nNumUsed++; CG(interned_strings).nNumOfElements++; p = CG(interned_strings).arData + idx; @@ -192,8 +188,6 @@ static zend_string *zend_new_interned_string_int(zend_string *str) Z_NEXT(p->val) = HT_HASH(&CG(interned_strings), nIndex); HT_HASH(&CG(interned_strings), nIndex) = HT_IDX_TO_HASH(idx); - HANDLE_UNBLOCK_INTERRUPTIONS(); - return str; #else return str; -- cgit v1.2.1