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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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 {