Skip to content

Commit

Permalink
modified use of feature check
Browse files Browse the repository at this point in the history
  • Loading branch information
K1D77A committed Nov 20, 2021
1 parent cd484a9 commit cd96686
Showing 1 changed file with 12 additions and 28 deletions.
40 changes: 12 additions & 28 deletions src/middleware/session/store/memory.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -18,38 +18,22 @@ middleware
;;;for SBCL use the synchronized hash table rather than manually grabbing and releasing
;;;a lock on each call.

#+sbcl
(defstruct (memory-store (:include store))
(stash (make-hash-table :test 'equal :synchronized t)))
#+sbcl (stash (make-hash-table :test 'equal :synchronized t))
#-sbcl (stash (make-hash-table :test 'equal))
#-sbcl (lock (bt:make-lock "Lock for session store")))

#-sbcl
(defstruct (memory-store (:include store))
(stash (make-hash-table :test 'equal))
(lock (bordeaux-threads:make-lock "session store lock")))

#+sbcl
(defmethod fetch-session ((store memory-store) sid)
(gethash sid (memory-store-stash store)))

#-sbcl
(defmethod fetch-session ((store memory-store) sid)
(bordeaux-threads:with-lock-held ((memory-store-lock store))
(gethash sid (memory-store-stash store))))
#+sbcl (gethash sid (memory-store-stash store))
#-sbcl (bt:with-lock-held ((memory-store-lock store))
(gethash sid (memory-store-stash store))))

#+sbcl
(defmethod store-session ((store memory-store) sid session)
(setf (gethash sid (memory-store-stash store)) session))

#-sbcl
(defmethod store-session ((store memory-store) sid session)
(bordeaux-threads:with-lock-held ((memory-store-lock store))
(setf (gethash sid (memory-store-stash store)) session)))

#+sbcl
(defmethod remove-session ((store memory-store) sid)
(remhash sid (memory-store-stash store)))
#+sbcl (setf (gethash sid (memory-store-stash store)) session)
#-sbcl (bt:with-lock-held ((memory-store-lock store))
(setf (gethash sid (memory-store-stash store)) session)))

#-sbcl
(defmethod remove-session ((store memory-store) sid)
(bordeaux-threads:with-lock-held ((memory-store-lock store))
(remhash sid (memory-store-stash store))))
#+sbcl (remhash sid (memory-store-stash store))
#-sbcl (bt:with-lock-held ((memory-store-lock store))
(remhash sid (memory-store-stash store))))

0 comments on commit cd96686

Please sign in to comment.