summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-06-14 13:29:13 +0300
committerChristoph M. Becker <cmbecker69@gmx.de>2019-06-18 09:06:56 +0200
commit1b63ca3c78dcdbb0ef1867676d8698f9f80a178a (patch)
tree5f570805a96a282ba38bfc96890eb0c05738c2b0
parentb70fcdd841431fb15b390de6a9b4416f99c133ee (diff)
downloadphp-git-1b63ca3c78dcdbb0ef1867676d8698f9f80a178a.tar.gz
Backport 96a12578c13b5c37195b10526fcdc669b795644d
(cherry picked from commit 28808ca96d202e63db0c407548f4fb7d4cb46d9f)
-rw-r--r--ext/opcache/ZendAccelerator.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index 1bf2148e54..8ba242723d 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -432,7 +432,7 @@ static zend_always_inline zend_string *accel_find_interned_string(zend_string *s
if (!ZCG(counted)) {
if (!ZCG(accelerator_enabled) || accel_activate_add() == FAILURE) {
- return str;
+ return NULL;
}
ZCG(counted) = 1;
}
@@ -754,10 +754,9 @@ static void accel_use_shm_interned_strings(void)
if (ZCSG(interned_strings).saved_top == NULL) {
accel_copy_permanent_strings(accel_new_interned_string);
} else {
+ ZCG(counted) = 1;
accel_copy_permanent_strings(accel_replace_string_by_shm_permanent);
- if (ZCG(counted)) {
- accel_deactivate_sub();
- }
+ ZCG(counted) = 0;
}
accel_interned_strings_save_state();
@@ -1187,7 +1186,11 @@ char *accel_make_persistent_key(const char *path, size_t path_length, int *key_l
cwd_len = ZCG(cwd_key_len) = buf + sizeof(buf) - 1 - res;
cwd = ZCG(cwd_key);
memcpy(ZCG(cwd_key), res, cwd_len + 1);
+ } else {
+ return NULL;
}
+ } else {
+ return NULL;
}
}
}
@@ -1226,7 +1229,11 @@ char *accel_make_persistent_key(const char *path, size_t path_length, int *key_l
include_path_len = ZCG(include_path_key_len) = buf + sizeof(buf) - 1 - res;
include_path = ZCG(include_path_key);
memcpy(ZCG(include_path_key), res, include_path_len + 1);
+ } else {
+ return NULL;
}
+ } else {
+ return NULL;
}
}
}
@@ -2325,6 +2332,7 @@ static void accel_reset_pcre_cache(void)
static void accel_activate(void)
{
if (!ZCG(enabled) || !accel_startup_ok) {
+ ZCG(accelerator_enabled) = 0;
return;
}
@@ -2352,6 +2360,7 @@ static void accel_activate(void)
#ifdef HAVE_OPCACHE_FILE_CACHE
if (file_cache_only) {
+ ZCG(accelerator_enabled) = 0;
return;
}
#endif