(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)
+ (declare (ignore sig handler))
+ #-(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)
+ (declare (ignore sig handler))
+ #-(or allegro cmu (and lispworks unix) sbcl)
+ (warn "Signal setting not supported on this platform.")))