[movitz-cvs] CVS update: movitz/losp/muerte/more-macros.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Mon Aug 23 13:49:41 UTC 2004
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv9358
Modified Files:
more-macros.lisp
Log Message:
Added a macro without-interrupts.
Date: Mon Aug 23 06:49:40 2004
Author: ffjeld
Index: movitz/losp/muerte/more-macros.lisp
diff -u movitz/losp/muerte/more-macros.lisp:1.17 movitz/losp/muerte/more-macros.lisp:1.18
--- movitz/losp/muerte/more-macros.lisp:1.17 Wed Jul 28 03:01:16 2004
+++ movitz/losp/muerte/more-macros.lisp Mon Aug 23 06:49:40 2004
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Fri Jun 7 15:05:57 2002
;;;;
-;;;; $Id: more-macros.lisp,v 1.17 2004/07/28 10:01:16 ffjeld Exp $
+;;;; $Id: more-macros.lisp,v 1.18 2004/08/23 13:49:40 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -361,6 +361,13 @@
(:cld))
(do-case (t :multiple-values)
(:compile-form (:result-mode :multiple-values) (no-macro-call read-time-stamp-counter)))))
+
+(defmacro without-interrupts (&body body)
+ (let ((var (gensym "interrupts-enabled-p-")))
+ `(let ((,var (logbitp ,(position :if +eflags-map+) (eflags))))
+ (unwind-protect (progn (cli) , at body)
+ (when ,var (sti))))))
+
;;; Some macros that aren't implemented, and we want to give compiler errors.
More information about the Movitz-cvs
mailing list