changed: updated to the new ezc api, this with O(1) when looking for a specific ezc function
changed: sessions are deleted at the end of a request (and only a few sessions) other sessions will be deleted after a next request git-svn-id: svn://ttmath.org/publicrep/winix/trunk@684 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -227,16 +227,21 @@ SessionContainer::Iterator SessionManager::SessionEnd()
|
||||
|
||||
void SessionManager::DeleteOldSessions()
|
||||
{
|
||||
session_tab.DelFirstByTimeInterval(config->session_max_idle);
|
||||
size_t deleted;
|
||||
|
||||
deleted = session_tab.DelFirstByTimeInterval(config->session_max_idle, 100); // !! dodac do konfiga
|
||||
|
||||
if( ++session_checker > 1000 )
|
||||
{
|
||||
// we make the test after 1000 requests
|
||||
log << log3 << "SM: checking sessions which have 'remember me' flag set" << logend;
|
||||
//log << log3 << "SM: checking sessions which have 'remember me' flag set" << logend;
|
||||
|
||||
session_checker = 0;
|
||||
session_tab.DelFirstByTimeInterval(config->session_remember_max_idle, false);
|
||||
deleted += session_tab.DelFirstByTimeInterval(config->session_remember_max_idle, 100, false);
|
||||
}
|
||||
|
||||
if( deleted > 0 )
|
||||
log << log3 << "SM: deleted " << deleted << " outdated sessions" << logend;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user