Files
CLASH/src/sbcl-locking.lisp

28 lines
554 B
Common Lisp

;;;; CLASH --- The Common Lisp Adaptable Simple HTTP server
;;;; This is copyrighted software. See documentation for terms.
;;;;
;;;; sbcl-locking.cl --- Platform independent locking primitives
;;;;
;;;; $Id$
(cl:in-package #:clash)
;;;; %File Description:
;;;;
;;;;
;;;;
;;; Locking primitives for SBCL
(defmacro pop-atomically (place)
#+SB-THREAD
`(sb-ext:atomic-pop ,place)
#-SB-THREAD
`(pop ,place))
(defmacro push-atomically (value place)
#+SB-THREAD
`(sb-ext:atomic-push ,value ,place)
#-SB-THREAD
`(push ,value ,place))