summaryrefslogtreecommitdiff
path: root/ext/session/session.c
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2000-03-29 20:37:29 +0000
committerSascha Schumann <sas@php.net>2000-03-29 20:37:29 +0000
commitf50de70308ddfa3d8477634318fa059e11f52a30 (patch)
treea9773d11acb851aeedf1f30deb2800879a473064 /ext/session/session.c
parentaf9a852bf1d12a4dfa7cd410fabf47f5edf99bce (diff)
downloadphp-git-f50de70308ddfa3d8477634318fa059e11f52a30.tar.gz
GC now prints out how many session objects were removed
Diffstat (limited to 'ext/session/session.c')
-rw-r--r--ext/session/session.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/session/session.c b/ext/session/session.c
index 3a552d21e3..142570a989 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -813,10 +813,15 @@ static void _php_session_start(PSLS_D)
_php_session_initialize(PSLS_C);
if (PS(mod_data) && PS(gc_probability) > 0) {
+ int nrdels = -1;
+
srand(time(NULL));
nrand = (int) (100.0*rand()/RAND_MAX);
- if (nrand < PS(gc_probability))
- PS(mod)->gc(&PS(mod_data), PS(gc_maxlifetime));
+ if (nrand < PS(gc_probability)) {
+ PS(mod)->gc(&PS(mod_data), PS(gc_maxlifetime), &nrdels);
+ if (nrdels != -1)
+ php_error(E_NOTICE, "Session gc: cleared %d\n", nrdels);
+ }
}
}