anchor.diff:  (defparameter *irc-connection* nil)
   (defvar *stdout* *standard-output*)
   (defvar *ping-semaphore* (sb-thread:make-semaphore))
  +(defparameter *irc-read-loop* nil)
   
   (defun exit ()
     (sb-ext:exit))
  
positive.code: (defun irc-reconnect (&optional (callback nil))
    (tryto (remove-all-hooks *irc-connection*))
    (tryto (quit *irc-connection*))
    (sleep 5)
    (format *stdout* "Connecting to IRC~%")
    (setf *irc-connection*
  
negative.code:               (sb-thread:signal-semaphore
                 *ping-semaphore*)))
    (format *stdout* "ACTIVATE HOOKS~%")
    (setf *irc-read-loop*
          (sb-thread:make-thread
           (lambda ()
             (read-message-loop *irc-connection*))))
    ;;(start-background-message-handler *irc-connection*)
    (if callback
        (funcall callback)))
  
  