summaryrefslogtreecommitdiff
path: root/lisp/sql/user-session-pkg.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/sql/user-session-pkg.lisp')
-rw-r--r--lisp/sql/user-session-pkg.lisp26
1 files changed, 13 insertions, 13 deletions
diff --git a/lisp/sql/user-session-pkg.lisp b/lisp/sql/user-session-pkg.lisp
index f33e2c8..0adba55 100644
--- a/lisp/sql/user-session-pkg.lisp
+++ b/lisp/sql/user-session-pkg.lisp
@@ -85,6 +85,7 @@
"Ensures that the user has a valid sessionid cookie. Returns the
`sessionid'. If the session does exist, update its timestamp."
(sb-thread:with-mutex (*user-session-mutex*)
+ (run-garbage-collect-cycle)
(with-bogenherr-database
(let* ((user-session-pkg (make-instance 'user-session-pkg))
(sessionid (when (not force-new-sessionid-p)
@@ -101,16 +102,15 @@
"Goes through all the user sessions, expiring any that have remained
inactive for a period of time determined by the `*session-timeout*'
variable."
- (sb-thread:with-mutex (*user-session-mutex*)
- (when (> (- (get-universal-time) org-ckons-session::*gc-last-cycle-timestamp*) org-ckons-session::*gc-interval*)
- (setf org-ckons-session::*gc-last-cycle-timestamp* (get-universal-time))
- (with-bogenherr-database
- (let ((user-session-pkg (make-instance 'user-session-pkg)))
- (loop for user-session in (get-user-sessions user-session-pkg) do
- (let ((inactive-time (- org-ckons-session::*gc-last-cycle-timestamp* (datetime user-session))))
- (when (and (> inactive-time org-ckons-session::*session-timeout*)
- (sessionid user-session))
- (org-ckons-core::logger (format nil "Deleting expired session: id = [~a] ; sessionid = [~a]" (id user-session) (sessionid user-session)))
- (loop for user-session-object in (get-user-session-objects user-session-pkg user-session) do
- (delete-record user-session-pkg user-session-object))
- (delete-record user-session-pkg user-session)))))))))
+ (when (> (- (get-universal-time) org-ckons-session::*gc-last-cycle-timestamp*) org-ckons-session::*gc-interval*)
+ (setf org-ckons-session::*gc-last-cycle-timestamp* (get-universal-time))
+ (with-bogenherr-database
+ (let ((user-session-pkg (make-instance 'user-session-pkg)))
+ (loop for user-session in (get-user-sessions user-session-pkg) do
+ (let ((inactive-time (- org-ckons-session::*gc-last-cycle-timestamp* (datetime user-session))))
+ (when (and (> inactive-time org-ckons-session::*session-timeout*)
+ (sessionid user-session))
+ (org-ckons-core::logger (format nil "Deleting expired session: id = [~a] ; sessionid = [~a]" (id user-session) (sessionid user-session)))
+ (loop for user-session-object in (get-user-session-objects user-session-pkg user-session) do
+ (delete-record user-session-pkg user-session-object))
+ (delete-record user-session-pkg user-session))))))))