mirror of
https://github.com/php/php-src.git
synced 2024-11-24 18:34:21 +08:00
Fixed process synchronisation problem, that may cause crashes after opcache restart
This commit is contained in:
parent
6f6bd8ce53
commit
d228752939
@ -2278,6 +2278,19 @@ static void zend_accel_fast_shutdown(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
int accel_post_deactivate(void)
|
||||
{
|
||||
if (!ZCG(enabled) || !accel_startup_ok) {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
zend_shared_alloc_safe_unlock(); /* be sure we didn't leave cache locked */
|
||||
accel_unlock_all();
|
||||
ZCG(counted) = 0;
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
static void accel_deactivate(void)
|
||||
{
|
||||
/* ensure that we restore function_table and class_table
|
||||
@ -2294,10 +2307,6 @@ static void accel_deactivate(void)
|
||||
return;
|
||||
}
|
||||
|
||||
zend_shared_alloc_safe_unlock(); /* be sure we didn't leave cache locked */
|
||||
accel_unlock_all();
|
||||
ZCG(counted) = 0;
|
||||
|
||||
#if !ZEND_DEBUG
|
||||
if (ZCG(accel_directives).fast_shutdown && is_zend_mm()) {
|
||||
zend_accel_fast_shutdown();
|
||||
|
@ -318,6 +318,7 @@ extern zend_accel_globals accel_globals;
|
||||
extern char *zps_api_failure_reason;
|
||||
|
||||
void accel_shutdown(void);
|
||||
int accel_post_deactivate(void);
|
||||
void zend_accel_schedule_restart(zend_accel_restart_reason reason);
|
||||
void zend_accel_schedule_restart_if_necessary(zend_accel_restart_reason reason);
|
||||
accel_time_t zend_get_file_handle_timestamp(zend_file_handle *file_handle, size_t *size);
|
||||
|
@ -516,7 +516,9 @@ static zend_module_entry accel_module_entry = {
|
||||
NULL,
|
||||
zend_accel_info,
|
||||
ACCELERATOR_VERSION "FE",
|
||||
STANDARD_MODULE_PROPERTIES
|
||||
NO_MODULE_GLOBALS,
|
||||
accel_post_deactivate,
|
||||
STANDARD_MODULE_PROPERTIES_EX
|
||||
};
|
||||
|
||||
int start_accel_module(void)
|
||||
|
Loading…
Reference in New Issue
Block a user