mirror of
https://github.com/php/php-src.git
synced 2025-08-16 22:18:50 +02:00
Backport 7ff13badda
into 7.0+
This commit is contained in:
parent
9891f11f84
commit
d82805f097
3 changed files with 9 additions and 7 deletions
|
@ -1221,7 +1221,7 @@ static zend_persistent_script *cache_script_in_file_cache(zend_persistent_script
|
||||||
zend_shared_alloc_init_xlat_table();
|
zend_shared_alloc_init_xlat_table();
|
||||||
|
|
||||||
/* Calculate the required memory size */
|
/* Calculate the required memory size */
|
||||||
memory_used = zend_accel_script_persist_calc(new_persistent_script, NULL, 0);
|
memory_used = zend_accel_script_persist_calc(new_persistent_script, NULL, 0, 0);
|
||||||
|
|
||||||
/* Allocate memory block */
|
/* Allocate memory block */
|
||||||
#ifdef __SSE2__
|
#ifdef __SSE2__
|
||||||
|
@ -1309,7 +1309,7 @@ static zend_persistent_script *cache_script_in_shared_memory(zend_persistent_scr
|
||||||
zend_shared_alloc_init_xlat_table();
|
zend_shared_alloc_init_xlat_table();
|
||||||
|
|
||||||
/* Calculate the required memory size */
|
/* Calculate the required memory size */
|
||||||
memory_used = zend_accel_script_persist_calc(new_persistent_script, key, key_length);
|
memory_used = zend_accel_script_persist_calc(new_persistent_script, key, key_length, 1);
|
||||||
|
|
||||||
/* Allocate shared memory */
|
/* Allocate shared memory */
|
||||||
#ifdef __SSE2__
|
#ifdef __SSE2__
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#define ZEND_PERSIST_H
|
#define ZEND_PERSIST_H
|
||||||
|
|
||||||
int zend_accel_script_persistable(zend_persistent_script *script);
|
int zend_accel_script_persistable(zend_persistent_script *script);
|
||||||
uint zend_accel_script_persist_calc(zend_persistent_script *script, char *key, unsigned int key_length);
|
uint zend_accel_script_persist_calc(zend_persistent_script *script, char *key, unsigned int key_length, int for_shm);
|
||||||
zend_persistent_script *zend_accel_script_persist(zend_persistent_script *script, char **key, unsigned int key_length);
|
zend_persistent_script *zend_accel_script_persist(zend_persistent_script *script, char **key, unsigned int key_length);
|
||||||
|
|
||||||
#endif /* ZEND_PERSIST_H */
|
#endif /* ZEND_PERSIST_H */
|
||||||
|
|
|
@ -381,7 +381,7 @@ static void zend_accel_persist_class_table_calc(HashTable *class_table)
|
||||||
zend_hash_persist_calc(class_table, zend_persist_class_entry_calc);
|
zend_hash_persist_calc(class_table, zend_persist_class_entry_calc);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint zend_accel_script_persist_calc(zend_persistent_script *new_persistent_script, char *key, unsigned int key_length)
|
uint zend_accel_script_persist_calc(zend_persistent_script *new_persistent_script, char *key, unsigned int key_length, int for_shm)
|
||||||
{
|
{
|
||||||
new_persistent_script->mem = NULL;
|
new_persistent_script->mem = NULL;
|
||||||
new_persistent_script->size = 0;
|
new_persistent_script->size = 0;
|
||||||
|
@ -390,12 +390,14 @@ uint zend_accel_script_persist_calc(zend_persistent_script *new_persistent_scrip
|
||||||
new_persistent_script->corrupted = 0;
|
new_persistent_script->corrupted = 0;
|
||||||
ZCG(current_persistent_script) = new_persistent_script;
|
ZCG(current_persistent_script) = new_persistent_script;
|
||||||
|
|
||||||
|
if (!for_shm) {
|
||||||
|
/* script is not going to be saved in SHM */
|
||||||
|
new_persistent_script->corrupted = 1;
|
||||||
|
}
|
||||||
|
|
||||||
ADD_DUP_SIZE(new_persistent_script, sizeof(zend_persistent_script));
|
ADD_DUP_SIZE(new_persistent_script, sizeof(zend_persistent_script));
|
||||||
if (key) {
|
if (key) {
|
||||||
ADD_DUP_SIZE(key, key_length + 1);
|
ADD_DUP_SIZE(key, key_length + 1);
|
||||||
} else {
|
|
||||||
/* script is not going to be saved in SHM */
|
|
||||||
new_persistent_script->corrupted = 1;
|
|
||||||
}
|
}
|
||||||
ADD_STRING(new_persistent_script->full_path);
|
ADD_STRING(new_persistent_script->full_path);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue