cvs: php4 /ext/session/ php_session.h session.c

From: Date: Fri, 26 May 2000 13:02:11 +0000
Subject: cvs: php4 /ext/session/ php_session.h session.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-15791@lists.php.net to get a copy of this message
zeev Fri May 26 06:02:11 2000 EDT Modified files: /php4/ext/session php_session.h session.c Log: Save more overhead. Look for the serializer/save_handler only when they're actually modified. Index: php4/ext/session/php_session.h diff -u php4/ext/session/php_session.h:1.31 php4/ext/session/php_session.h:1.32 --- php4/ext/session/php_session.h:1.31 Fri May 26 04:12:49 2000 +++ php4/ext/session/php_session.h Fri May 26 06:02:11 2000 @@ -91,8 +91,6 @@ long cache_expire; const struct ps_serializer_struct *serializer; zval *http_session_vars; - char *serialize_handler; - char *save_handler; zend_bool auto_start; zend_bool define_sid; zend_bool use_cookies; Index: php4/ext/session/session.c diff -u php4/ext/session/session.c:1.140 php4/ext/session/session.c:1.141 --- php4/ext/session/session.c:1.140 Fri May 26 04:12:49 2000 +++ php4/ext/session/session.c Fri May 26 06:02:11 2000 @@ -67,14 +67,36 @@ {0} }; +static ps_module *_php_find_ps_module(char *name PSLS_DC); +static const ps_serializer *_php_find_ps_serializer(char *name PSLS_DC); + +static PHP_INI_MH(OnUpdateSaveHandler) +{ + PSLS_FETCH(); + + PS(mod) = _php_find_ps_module(new_value PSLS_CC); + return SUCCESS; +} + + +static PHP_INI_MH(OnUpdateSerializer) +{ + PSLS_FETCH(); + + PS(serializer) = _php_find_ps_serializer(new_value PSLS_CC); + return SUCCESS; +} + + + PHP_INI_BEGIN() STD_PHP_INI_ENTRY("session.save_path", "/tmp", PHP_INI_ALL, OnUpdateString, save_path, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.name", "PHPSESSID", PHP_INI_ALL, OnUpdateString, session_name, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.save_handler", "files", PHP_INI_ALL, OnUpdateString, save_handler, php_ps_globals, ps_globals) + PHP_INI_ENTRY("session.save_handler", "files", PHP_INI_ALL, OnUpdateSaveHandler) STD_PHP_INI_BOOLEAN("session.auto_start", "0", PHP_INI_ALL, OnUpdateBool, auto_start, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.gc_probability", "1", PHP_INI_ALL, OnUpdateInt, gc_probability, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.gc_maxlifetime", "1440", PHP_INI_ALL, OnUpdateInt, gc_maxlifetime, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.serialize_handler", "php", PHP_INI_ALL, OnUpdateString, serialize_handler, php_ps_globals, ps_globals) + PHP_INI_ENTRY("session.serialize_handler", "php", PHP_INI_ALL, OnUpdateSerializer) STD_PHP_INI_ENTRY("session.cookie_lifetime", "0", PHP_INI_ALL, OnUpdateInt, cookie_lifetime, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_path", "/", PHP_INI_ALL, OnUpdateString, cookie_path, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_domain", "", PHP_INI_ALL, OnUpdateString, cookie_domain, php_ps_globals, ps_globals) @@ -974,9 +996,9 @@ if (PS(nr_open_sessions) > 0) RETURN_FALSE; - PS(mod) = _php_find_ps_module("user" PSLS_CC); + php_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), "user", sizeof("user"), PHP_INI_USER, PHP_INI_STAGE_RUNTIME); - mdata = emalloc(sizeof *mdata); + mdata = emalloc(sizeof(*mdata)); for (i = 0; i < 6; i++) { convert_to_string_ex(args[i]); @@ -1228,10 +1250,7 @@ /* }}} */ static void php_rinit_session_globals(PSLS_D) -{ - PS(mod) = _php_find_ps_module(PS(save_handler) PSLS_CC); - PS(serializer) = _php_find_ps_serializer(PS(serialize_handler) PSLS_CC); - +{ zend_hash_init(&PS(vars), 0, NULL, NULL, 0); PS(define_sid) = 0; PS(save_path) = estrdup(INI_STR("session.save_path")); @@ -1275,8 +1294,9 @@ return SUCCESS; } - if (PS(auto_start)) + if (PS(auto_start)) { _php_session_start(PSLS_C); + } return SUCCESS; }

« previous php.version4 (#15791) next »