anchor.diff:  ;; internally. Therefore, binding some of them may cause the implimentation
   ;; to malfunction.  (6. Signal handling,
   ;; http://www.sbcl.org/sbcl-internals/index.html)
  -
  -#+debug
  -(defvar *handler-lock* (bt:make-lock "handler-lock")
  -  "force the handler processing to be synchronous")
   
   (define-condition unix-signal ()
     ((signo :initarg :signo :reader signo))
  
positive.code:        (bt:thread-name (bt:current-thread)))
        #-(or sbcl ccl)
        t
      #+debug
      (bt:with-lock-held (*handler-lock*)
        (format t "~&received signo: ~a" signo)
        (format t "~&all threads: ~a" (bt:all-threads))
        (format t "~&current thread: ~a" (bt:current-thread))
        (force-output))
      (dolist (th (bt:all-threads)) ;; only the live threads
        #+debug
        (bt:with-lock-held (*handler-lock*)
          (format t "~&th: ~a result: ~a"
                  th (gethash th *listener-threads*))
          #+ccl
          (print (ccl::lisp-thread.interrupt-functions th)))
        (when (gethash th *listener-threads*)
          (bt:interrupt-thread th #'invoke-handlers signo)))))
  
  (defun invoke-handlers (signo)
    "Handler-invoking procedure per thread"
    (;; #+debug bt:with-lock-held #+debug (*handler-lock*)
     ;; #-debug
     progn
      #+debug
      (format t "~&-------- handler invoked in thread: ~a -------"
              (bt:thread-name (bt:current-thread)))
      #+debug
      (format t "~&hierarchy: ~a" *signal-handler-hierarchy*)
      #+debug
      (force-output)
      (dolist (handlers/layer *signal-handler-hierarchy*)
        (let ((handlers/signo (assocdr signo handlers/layer)))
          (when handlers/signo
  
negative.code:             (funcall fn)))
        ;; however in any cases, the partly/fully enabled singals are
        ;; correctly disabled.
        (%disable-all-signal-handlers next-enabled-signals)
        (unless *listening-signal-p* ;; called only on the toplevel stack
          (bt:with-lock-held (*listener-threads-lock*)
            (remhash (bt:current-thread) *listener-threads*))))))
  
  