mirror of
https://github.com/php/php-src.git
synced 2025-08-21 01:45:16 +02:00
Fix missing zend_shared_alloc_unlock() (#10405)
This code was refactored and the unlock was forgotten. The following assertion is triggered in debug mode: zend_shared_alloc_lock: Assertion `!(accel_globals.locked)' failed. And in release mode this likely deadlocks. Fix this by re-adding the unlock.
This commit is contained in:
parent
479b47c6f0
commit
dc6fbec037
1 changed files with 3 additions and 0 deletions
|
@ -4788,6 +4788,7 @@ static int accel_finish_startup(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pid == -1) { /* no subprocess was needed */
|
if (pid == -1) { /* no subprocess was needed */
|
||||||
|
/* The called function unlocks the shared alloc lock */
|
||||||
return accel_finish_startup_preload(false);
|
return accel_finish_startup_preload(false);
|
||||||
} else if (pid == 0) { /* subprocess */
|
} else if (pid == 0) { /* subprocess */
|
||||||
int ret = accel_finish_startup_preload(true);
|
int ret = accel_finish_startup_preload(true);
|
||||||
|
@ -4805,6 +4806,8 @@ static int accel_finish_startup(void)
|
||||||
preload_load();
|
preload_load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
zend_shared_alloc_unlock();
|
||||||
|
|
||||||
if (WIFEXITED(status) && WEXITSTATUS(status) == 0) {
|
if (WIFEXITED(status) && WEXITSTATUS(status) == 0) {
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue