Implement new procedure, like WITHOUT-INTERRUPTS, except that it
authorChris Hanson <org/chris-hanson/cph>
Fri, 17 May 1996 17:47:59 +0000 (17:47 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 17 May 1996 17:47:59 +0000 (17:47 +0000)
allows keyboard interrupts.

v7/src/runtime/boot.scm

index d7d825568e429aa73e8b966196694e82d815cc77..97e2887379bf833d076f85ecad5dec005c8250b4 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: boot.scm,v 14.10 1993/10/21 13:57:29 cph Exp $
+$Id: boot.scm,v 14.11 1996/05/17 17:47:59 cph Exp $
 
-Copyright (c) 1988-93 Massachusetts Institute of Technology
+Copyright (c) 1988-96 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -95,6 +95,9 @@ MIT in each case. |#
 ;; GC & stack overflow only
 (define-integrable interrupt-mask/gc-ok    #x0007)
 
+;; GC, stack overflow, and keyboard only
+(define-integrable interrupt-mask/no-background #x0017)
+
 ;; GC, stack overflow, and timer only
 (define-integrable interrupt-mask/timer-ok #x0047)
 
@@ -116,6 +119,12 @@ MIT in each case. |#
       interrupt-mask
       (thunk))))
 
+(define (without-background-interrupts thunk)
+  (with-interrupt-mask interrupt-mask/no-background
+    (lambda (interrupt-mask)
+      interrupt-mask
+      (thunk))))
+
 (define-primitives
   (object-pure? pure?)
   (object-constant? constant?)