diff options
author | foobar <sniper@php.net> | 2004-02-24 08:47:35 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2004-02-24 08:47:35 +0000 |
commit | ac92c47b84f761c15073eaba572e493b7bfbcee2 (patch) | |
tree | d2186421189595665dfce0d0763a00bd4a91614d | |
parent | 409c06738f293e43dccf4f6a0454dd74c8af0286 (diff) | |
download | php-git-ac92c47b84f761c15073eaba572e493b7bfbcee2.tar.gz |
Fix bug #26005 (Random "cannot change the session ini settings" errors)
-rw-r--r-- | ext/session/session.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index 301f8c0948..4f1bb11e6e 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1726,14 +1726,26 @@ PHP_RSHUTDOWN_FUNCTION(session) } /* }}} */ +static void php_minit_session_globals(php_ps_globals *ps_globals) +{ + ps_globals->save_path = NULL; + ps_globals->session_name = NULL; + ps_globals->id = NULL; + ps_globals->mod = NULL; + ps_globals->mod_data = NULL; + ps_globals->session_status = php_session_none; + ps_globals->http_session_vars = NULL; +} PHP_MINIT_FUNCTION(session) { #ifdef ZTS php_ps_globals *ps_globals; - ts_allocate_id(&ps_globals_id, sizeof(php_ps_globals), NULL, NULL); + ts_allocate_id(&ps_globals_id, sizeof(php_ps_globals), (ts_allocate_ctor) php_minit_session_globals, NULL); ps_globals = ts_resource(ps_globals_id); +#else + php_minit_session_globals(&ps_globals); #endif zend_register_auto_global("_SESSION", sizeof("_SESSION")-1, NULL TSRMLS_CC); |