diff options
-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); |