r11466: 07 Jan 2007 Kevin Rosenberg <kevin@rosenberg.net>
[kmrcl.git] / signals.lisp
index 1547aba571f11b9d05f20653dfe3833607be2fa2..5aee4e1fd44f2bb0facdd338cf751812a7150d3d 100644 (file)
@@ -42,7 +42,7 @@ that the signal was successfully handled."
                   (keyword (signal-key-to-number sig)))))
     #+allegro (excl:add-signal-handler signum handler)
     #+cmu (system:enable-interrupt signum handler)
-    #+lispworks
+    #+(and lispworks unix)
     ;; non-documented method to get old handler, works in lispworks 5
     (let ((old-handler (when (and (boundp 'system::*signal-handler-functions*)
                                   (typep system::*signal-handler-functions* 'array))
@@ -50,8 +50,8 @@ that the signal was successfully handled."
       (system:set-signal-handler signum handler)
       old-handler)
     #+sbcl (sb-sys:enable-interrupt signum handler)
-    #-(or allegro cmu lispworks sbcl) (warn "Signal setting not supported on this platform.")
-  ))
+    #-(or allegro cmu (and lispworks unix) sbcl)
+    (warn "Signal setting not supported on this platform.")))
 
 (defun remove-signal-handler (sig &optional old-handler)
   "Removes a handler from signal. Tries, when possible, to restore old-handler."
@@ -64,7 +64,7 @@ that the signal was successfully handled."
     #+allegro (excl:remove-signal-handler signum)
     #+cmu (system:enable-interrupt signum (or old-handler :default))
     ;; lispworks removes handler if old-handler is nil
-    #+lispworks (system:set-signal-handler signum old-handler)
+    #+(and lispworks unix) (system:set-signal-handler signum old-handler)
     #+sbcl (sb-sys:enable-interrupt signum (or old-handler :default))
-    #-(or allegro cmu lispworks sbcl) (warn "Signal setting not supported on this platform.")
-    ))
+    #-(or allegro cmu (and lispworks unix) sbcl)
+    (warn "Signal setting not supported on this platform.")))