1
0
mirror of https://github.com/php/php-src.git synced 2026-04-09 09:03:04 +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:
Niels Dossche
2023-01-28 11:48:46 +01:00
committed by GitHub
parent 479b47c6f0
commit dc6fbec037

View File

@@ -4788,6 +4788,7 @@ static int accel_finish_startup(void)
}
if (pid == -1) { /* no subprocess was needed */
/* The called function unlocks the shared alloc lock */
return accel_finish_startup_preload(false);
} else if (pid == 0) { /* subprocess */
int ret = accel_finish_startup_preload(true);
@@ -4805,6 +4806,8 @@ static int accel_finish_startup(void)
preload_load();
}
zend_shared_alloc_unlock();
if (WIFEXITED(status) && WEXITSTATUS(status) == 0) {
return SUCCESS;
} else {