summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2015-09-24 14:41:08 +0200
committerAnatol Belski <ab@php.net>2015-09-24 16:34:44 +0200
commit0fd7acd11d4a8cdb6afafabd9eb7eef8385cd067 (patch)
tree0fc9ef74f9b5c1bb265503b56e06a45fcdee1db5 /ext
parentdf832c966ce5c09a1c7dd557ebfb80f1dc181f4f (diff)
downloadphp-git-0fd7acd11d4a8cdb6afafabd9eb7eef8385cd067.tar.gz
don't keep locked mutex after errors
Diffstat (limited to 'ext')
-rw-r--r--ext/opcache/ZendAccelerator.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index c09b08d9b8..3fa015e162 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -2366,6 +2366,7 @@ static int zend_accel_init_shm(void)
accel_shared_globals = zend_shared_alloc(sizeof(zend_accel_shared_globals));
if (!accel_shared_globals) {
zend_accel_error(ACCEL_LOG_FATAL, "Insufficient shared memory!");
+ zend_shared_alloc_unlock();
return FAILURE;
}
ZSMMG(app_shared_globals) = accel_shared_globals;
@@ -2383,6 +2384,7 @@ static int zend_accel_init_shm(void)
ZCSG(interned_strings_start) = zend_shared_alloc((ZCG(accel_directives).interned_strings_buffer * 1024 * 1024));
if (!data || !ZCSG(interned_strings_start)) {
zend_accel_error(ACCEL_LOG_FATAL, ACCELERATOR_PRODUCT_NAME " cannot allocate buffer for interned strings");
+ zend_shared_alloc_unlock();
return FAILURE;
}
HT_SET_DATA_ADDR(&ZCSG(interned_strings), data);