Changeset 954 in svn for trunk/xcache.c


Ignore:
Timestamp:
2012-07-06T09:18:49Z (3 years ago)
Author:
Xuefer
Message:

restore open_files handling, it is required. disable included_files which is real EG since PHP 5_2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/xcache.c

    r950 r954  
    746746/* }}} */
    747747
    748 static zend_op_array *xc_entry_install(xc_entry_php_t *entry_php TSRMLS_DC) /* {{{ */
     748static zend_op_array *xc_entry_install(xc_entry_php_t *entry_php, zend_file_handle *h TSRMLS_DC) /* {{{ */
    749749{
    750750    zend_uint i;
     
    815815
    816816    i = 1;
     817#ifndef ZEND_ENGINE_2_2
    817818    zend_hash_add(&EG(included_files), entry_php->entry.name.str.val, entry_php->entry.name.str.len+1, (void *)&i, sizeof(int), NULL);
     819#endif
     820    if (h) {
     821        zend_llist_add_element(&CG(open_files), h);
     822    }
    818823
    819824#ifndef ZEND_ENGINE_2
     
    18401845}
    18411846/* }}} */
    1842 static zend_op_array *xc_compile_restore(xc_entry_php_t *stored_entry, xc_entry_data_php_t *stored_php TSRMLS_DC) /* {{{ */
     1847static zend_op_array *xc_compile_restore(xc_entry_php_t *stored_entry, xc_entry_data_php_t *stored_php, zend_file_handle *h TSRMLS_DC) /* {{{ */
    18431848{
    18441849    zend_op_array *op_array;
     
    18601865    catched = 0;
    18611866    zend_try {
    1862         op_array = xc_entry_install(&restored_entry TSRMLS_CC);
     1867        op_array = xc_entry_install(&restored_entry, h TSRMLS_CC);
    18631868    } zend_catch {
    18641869        catched = 1;
     
    21182123    /* found entry */
    21192124    if (stored_entry && stored_php) {
    2120         return xc_compile_restore(stored_entry, stored_php TSRMLS_CC);
     2125        return xc_compile_restore(stored_entry, stored_php, NULL /* h */ TSRMLS_CC);
    21212126    }
    21222127
     
    21342139    op_array = xc_sandbox(xc_compile_file_sandboxed, (void *) &sandboxed_compiler, h->opened_path ? h->opened_path : h->filename TSRMLS_CC);
    21352140    if (sandboxed_compiler.stored_entry) {
    2136         return xc_compile_restore(sandboxed_compiler.stored_entry, sandboxed_compiler.stored_php TSRMLS_CC);
     2141        return xc_compile_restore(sandboxed_compiler.stored_entry, sandboxed_compiler.stored_php, sandboxed_compiler.h TSRMLS_CC);
    21372142    }
    21382143    else {
Note: See TracChangeset for help on using the changeset viewer.