+07 Jan 2007 Kevin Rosenberg <kevin@rosenberg.net>
+ * Version 1.94
+ * signals.lisp: Conditionalize Lispworks support to :unix *features*
+
07 Jan 2007 Kevin Rosenberg <kevin@rosenberg.net>
* Version 1.93
* signals.lisp: Add new file for signal processing
(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))
(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."
#+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.")))