28 lines
554 B
Common 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))
|