and handle some corner cases better. The scanner has been changed
to the format as proposed in "RE2C - A More Versatile Scanner Generator"
by Cowan et al.
- regression test checked (this time;-)
- added new regression test for references
- references _between_ session variables also work in when the session var
replaces an already existing global var (this was a brain twister)
- saved one strlen call per session variable
- fixed one tiny leak
script writers to release the lock associated with the session lock
before the request finishes.
You can pass arrays now to session_set_save_handler(), so that the handlers
can be located in an object for better abstraction.
- Got rid of the old flush() implemenetation in favour of the new one
- Added implicit_flush() support to the output buffering layer.
@- Added implicit_flush() to control whether flush() should be called
@ implicitly after any output (Zeev)
Fix warnings compiling in maintainer mode.
Install DB/common.php and DB/mysql.php on "make install".
# We still have a warning from http_config.h:97. Rasmus? :-)
If track_vars is on then decoded variables appear in $HTTP_STATE_VARS
array. If gpc_globals is on, then session vars are decoded into global
variables. If both are on, then globals and $HTTP_STATE_VARS contents
are references to each other.
The /decoder functions now just need to call php_set_session_var()
this behavior.
@ -Session vars are now decoded into $HTTP_STATE_VARS[] array and the
@ globals, depending on track_vars and gpc_globals settings (Andrei)
# Encoding source is currently only globals. We may want to change this
# in the future.
this uses a custom scanner which detects relative URIs and changes
them appropiately.
must be explicitly enabled with --enable-trans-sid
(normal case is not affected, since session_adapt_uris defaults to
void statement. Compiler should eliminate dead code in output.c then.)
- fix gc probability algorithm
- don't access mod_data directly
- initial version of mm support for session data storage
This works pretty good, but we need to create the initial mm pool
from the parent process/thread. Still looking for a clean way to do that.
* Make some renames in the session module - avoid having a function called 'delete'
so that we don't piss any C++ compilers. Also rename the {startup,shutdown}_globals
to {startup,shutdown}_session_globals, so that they're a bit less general names,
and made them static.
* Remove uselss variables