changelog Wed Mar 19 01:31:36 2008 UTC
Modified files:
/ZendEngine2 ChangeLog
Log:
ChangeLog update
http://cvs.php.net/viewvc.cgi/ZendEngine2/ChangeLog?r1=1.1265&r2=1.1266&diff_format=u
Index: ZendEngine2/ChangeLog
diff -u ZendEngine2/ChangeLog:1.1265 ZendEngine2/ChangeLog:1.1266
--- ZendEngine2/ChangeLog:1.1265 Tue Mar 18 01:31:32 2008
+++ ZendEngine2/ChangeLog Wed Mar 19 01:31:36 2008
@@ -1,3 +1,133 @@
+2008-03-18 Rasmus Lerdorf <[EMAIL PROTECTED]>
+
+ * (PHP_5_3)
+ zend_execute.h
+ zend_execute_API.c:
+ exit_on_timeout patch
+
+ After the sigsetjmp change, this is patch #2 in an effort to get some
+ sanity restored to signal handling in PHP.
+
+ This patch does two things. First, it makes it possible to reset the
+ timeout without resetting the signal handlers. This is important for
+ cases where an extension may have deferred signals in its MINIT in order
+ to implement critical sections. It also lays the groundwork for cleaning
+ up our signal handling and perhaps eventually implementing our own
+ signal deferring mechanism so we can have true critical sections.
+
+ The second thing this does is to make it possible to terminate the
current
+ child process (only for Apache1 at the moment) on a timeout. There are
+ a number of extensions that are unhappy about being longjmp'ed out of
+ and when this happens on a timeout they are left in an inconsistent
state.
+ By turning on exit_on_timeout you can now force the process to terminate
+ on a timeout which will clean up any hanging locks and/or memory left
+ hanging after the longjmp.
+
+ * (PHP_5_3)
+ Zend.m4
+ zend.c
+ zend.h
+ zend_globals.h:
+ Make the sigsetjmp change more robust. On systems that don't have
+ sigsetjmp use setjmp. Windows is of course weird in that it seems to
+ have sigsetjmp but not sigjmp_buf (??) so force it to use setjmp in
+ config.w32.h.in
+
+ * (PHP_5_3)
+ zend.c
+ zend.h
+ zend_globals.h:
+ Use sigsetjmp and siglongjmp instead of setjmp/longjmp in order to be
+ consistent in how we deal with the signal mask. POSIX doesn't specify
+ what to do with the signal mask in setjmp/longjmp which has resulted in
+ the signal mask getting saved on *BSD and not getting saved on Linux.
+ Making the behaviour explicit via sigsetjmp/siglongjmp gives us
+ consistency and saves expensive sigprocmask() syscalls on *BSD.
+
+2008-03-18 Antony Dovgal <[EMAIL PROTECTED]>
+
+ * (PHP_5_3)
+ tests/bug42119.phpt
+ tests/clone_uncloneable.phpt:
+ remove ze1_compat tests
+
+2008-03-18 Felipe Pena <[EMAIL PROTECTED]>
+
+ * (PHP_5_3)
+ zend.c
+ zend_API.c
+ zend_execute.c
+ zend_execute.h
+ zend_execute_API.c
+ zend_globals.h
+ zend_objects.c
+ zend_operators.c
+ zend_vm_def.h
+ zend_vm_execute.h
+ tests/bug30332.phpt
+ tests/bug31828.phpt
+ tests/bug32080.phpt
+ tests/bug32852.phpt
+ tests/bug33243.phpt
+ tests/bug34712.phpt
+ tests/bug34767.phpt:
+ MFH: Dropped zend.ze1_compatibility_mode
+ [DOC]
+
+2008-03-18 Dmitry Stogov <[EMAIL PROTECTED]>
+
+ * zend_compile.c
+ zend_compile.c:
+ Removed hack (we don't need to modify class name).
+ (the problem is covered by Zend/tests/ns_056.phpt)
+
+ * zend.c
+ zend.c
+ zend_compile.c
+ zend_compile.c
+ zend_compile.h
+ zend_compile.h
+ zend_execute_API.c
+ zend_execute_API.c
+ zend_globals.h
+ zend_globals.h
+ zend_opcode.c
+ zend_opcode.c
+ zend_vm_def.h
+ zend_vm_def.h
+ zend_vm_execute.h
+ zend_vm_execute.h
+ zend_vm_opcodes.h
+ zend_vm_opcodes.h:
+ Implemented concept of "delayed early binding" that allows opcode caches
to
+ perform class declaration (early and/or run-time binding) in exactly the
+ same order as vanila php.
+ The following pseudo-code explains how it should be used in opcode cache.
+
+ function cache_compile_file($filename) {
+ if (!is_cached($filename)) {
+ ...
+ orig_compiler_options = CG(compiler_optins);
+ CG(compiler_options) |=
+ ZEND_COMPILE_IGNORE_INTERNAL_CLASSES |
+ ZEND_COMPILE_DELAYED_BINDING;
+ $op_array = orig_compile_file($filename);
+ CG(compiler_options) = orig_copiler_options;
+ ...
+ } else {
+ $op_array = restore_from_cache($filename);
+ }
+ zend_do_delayed_early_binding($op_array);
+ }
+
+ * tests/array_unshift_COW.phpt:
+ Fixed test
+
+2008-03-18 Felipe Pena <[EMAIL PROTECTED]>
+
+ * zend_compile.c:
+ Fix build
+
2008-03-17 Nuno Lopes <[EMAIL PROTECTED]>
* (PHP_5_3)
@@ -22114,7 +22244,7 @@
2003-06-10 Jani Taskinen <[EMAIL PROTECTED]>
* zend_multiply.h:
- - Missing $Id: ChangeLog,v 1.1265 2008/03/18 01:31:32 changelog Exp $ tag
+ - Missing $Id: ChangeLog,v 1.1266 2008/03/19 01:31:36 changelog Exp $ tag
2003-06-10 James Cox <[EMAIL PROTECTED]>
@@ -23838,7 +23968,7 @@
zend_types.h
zend_variables.c
zend_variables.h:
- - Added some missing CVS $Id: ChangeLog,v 1.1265 2008/03/18 01:31:32
changelog Exp $ tags, headers and footers.
+ - Added some missing CVS $Id: ChangeLog,v 1.1266 2008/03/19 01:31:36
changelog Exp $ tags, headers and footers.
2003-01-30 Ilia Alshanetsky <[EMAIL PROTECTED]>