anchor.diff:    "Clear a signal handler and unbind it."
     (when (find signo (event-base-signal-handlers *event-base*))
       (let* ((signo-pt (signal-pointer signo))
  -           (watcher (deref-data-from-pointer signo-pt))
  -           (sig-data (deref-data-from-pointer watcher))
  -           (original-lisp-signal-handler (getf sig-data :original-handler)))
  -      (free-pointer-data watcher :preserve-pointer t)
  -      (uv:free-handle watcher)
  -      (cffi:foreign-funcall "signal" :int signo :pointer original-lisp-signal-handler :pointer)
  -      (free-pointer-data signo-pt :preserve-pointer t))
  +           (watcher (deref-data-from-pointer signo-pt)))
  +      (uv:uv-signal-stop watcher)
  +      (uv:uv-close watcher (cffi:callback signal-close-cb)))
       (setf (event-base-signal-handlers *event-base*) (remove signo (event-base-signal-handlers *event-base*)))))
   
   (defun clear-signal-handlers ()
  
positive.code:   (dolist (signo (copy-list (event-base-signal-handlers *event-base*)))
      (free-signal-handler signo))
    (setf (event-base-signal-handlers *event-base*) nil))
  
  (define-c-callback lisp-signal-cb :void ((signo :int))
    "Generic callback for lisp signal handling."
  
negative.code:         (return-from signal-handler (event-handler res event-cb))))
      (save-callbacks watcher (list :signal-cb signal-cb
                                    :event-cb event-cb))
      (attach-data-to-pointer watcher (list :signo signo :original-handler lisp-signal-handler))
      ;; make sure we can find the event/original handler from just the signo
      (attach-data-to-pointer signo-pt watcher)
      ;; add this signal to the list of active signals
  