Dmitry, have you _any_ idea why this might fix my CG table-freeing crash?
It still gets past the != check, so presumably it still does the same destroy-and-free - but it works now?!
- Steph
Index: Zend/zend.c =================================================================== RCS file: /repository/ZendEngine2/zend.c,v retrieving revision 1.308.2.12.2.8 diff -u -r1.308.2.12.2.8 zend.c --- Zend/zend.c 19 May 2006 06:09:14 -0000 1.308.2.12.2.8 +++ Zend/zend.c 2 Jun 2006 06:26:41 -0000 @@ -462,15 +462,15 @@ static void compiler_globals_dtor(zend_compiler_globals *compiler_globals TSRMLS_DC) { - if (compiler_globals->function_table != GLOBAL_FUNCTION_TABLE) { + if (GLOBAL_FUNCTION_TABLE && (compiler_globals->function_table != GLOBAL_FUNCTION_TABLE)) { zend_hash_destroy(compiler_globals->function_table); free(compiler_globals->function_table); } - if (compiler_globals->class_table != GLOBAL_CLASS_TABLE) { + if (GLOBAL_CLASS_TABLE && (compiler_globals->class_table != GLOBAL_CLASS_TABLE)) { zend_hash_destroy(compiler_globals->class_table); free(compiler_globals->class_table); } - if (compiler_globals->auto_globals != GLOBAL_AUTO_GLOBALS_TABLE) { + if (GLOBAL_AUTO_GLOBALS_TABLE && (compiler_globals->auto_globals != GLOBAL_AUTO_GLOBALS_TABLE)) { zend_hash_destroy(compiler_globals->auto_globals); free(compiler_globals->auto_globals); }
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php