sas Thu Oct 3 02:45:15 2002 EDT
Modified files:
/php4/ext/session php_session.h session.c
Log:
Make the interpretation of gc_probability configurable by adding
session.gc_dividend. The probability of running gc on each request is then
gc_probability/gc_dividend.
Index: php4/ext/session/php_session.h
diff -u php4/ext/session/php_session.h:1.83 php4/ext/session/php_session.h:1.84
--- php4/ext/session/php_session.h:1.83 Wed Oct 2 23:23:02 2002
+++ php4/ext/session/php_session.h Thu Oct 3 02:45:15 2002
@@ -105,6 +105,7 @@
void *mod_data;
php_session_status session_status;
long gc_probability;
+ long gc_dividend;
long gc_maxlifetime;
int module_number;
long cache_expire;
Index: php4/ext/session/session.c
diff -u php4/ext/session/session.c:1.328 php4/ext/session/session.c:1.329
--- php4/ext/session/session.c:1.328 Thu Oct 3 02:29:58 2002
+++ php4/ext/session/session.c Thu Oct 3 02:45:15 2002
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: session.c,v 1.328 2002/10/03 06:29:58 sas Exp $ */
+/* $Id: session.c,v 1.329 2002/10/03 06:45:15 sas Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -128,6 +128,7 @@
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_dividend", "100", PHP_INI_ALL,
+OnUpdateInt, gc_dividend, php_ps_globals, ps_globals)
STD_PHP_INI_ENTRY("session.gc_maxlifetime", "1440", PHP_INI_ALL,
OnUpdateInt, gc_maxlifetime, 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)
@@ -1035,7 +1036,7 @@
if (PS(mod_data) && PS(gc_probability) > 0) {
int nrdels = -1;
- nrand = (int) (100.0*php_combined_lcg(TSRMLS_C));
+ nrand = (int) ((float) PS(gc_dividend) * php_combined_lcg(TSRMLS_C));
if (nrand < PS(gc_probability)) {
PS(mod)->gc(&PS(mod_data), PS(gc_maxlifetime), &nrdels
TSRMLS_CC);
#if 0
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php