com php-src: Delete immutable arrays copied into SHM (related to bug #67725): ext/opcache/ZendAccelerator.c
| From: | Dmitry Stogov | Date: | Mon, 04 Aug 2014 16:20:12 +0000 |
| Subject: | com php-src: Delete immutable arrays copied into SHM (related to bug #67725): ext/opcache/ZendAccelerator.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-79727@lists.php.net to get a copy of this message | ||
Commit: 415482ac0abfbad8fa1416b2048a91d2e0ff2d4a
Author: Dmitry Stogov <dmitry@zend.com> Mon, 4 Aug 2014 20:20:12 +0400
Parents: 7301994c28d548c5a4eda6a3a4ae0fab6af04636
Branches: phpng
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=415482ac0abfbad8fa1416b2048a91d2e0ff2d4a
Log:
Delete immutable arrays copied into SHM (related to bug #67725)
Bugs:
https://bugs.php.net/67725
Changed paths:
M ext/opcache/ZendAccelerator.c
Diff:
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index df36b55..4053b72 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -1650,6 +1650,7 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type
T
/* If script was not found or invalidated by validate_timestamps */
if (!persistent_script) {
+ zend_uint old_const_num = zend_hash_next_free_element(EG(zend_constants));
zend_op_array *op_array;
/* Cache miss.. */
@@ -1674,6 +1675,14 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int
type T
SHM_PROTECT();
return op_array;
}
+ if (from_shared_memory) {
+ /* Delete immutable arrays moved into SHM */
+ zend_uint new_const_num = zend_hash_next_free_element(EG(zend_constants));
+ while (new_const_num > old_const_num) {
+ new_const_num--;
+ zend_hash_index_del(EG(zend_constants), new_const_num);
+ }
+ }
} else {
#if !ZEND_WIN32