anchor.diff:                       (iolib:remove-fd-handlers *event-base*
                                                  (iolib:socket-os-fd (cl-irc::socket conn))
                                                  :read t))
  -                   (close (irc:network-stream conn) :abort t))))))
  +                   (irc:quit conn "Don't panic!"))))))
         (unless *quitting*
           (format t "Sleeping 10 seconds before reconnecting.~%")
           (sleep 10)))))
  
positive.code:                         :read
                          (lambda (fd event exception)
                            (declare (ignore fd event exception))
                            (handler-case
                                (cl-irc:read-message-loop conn)
                              (error (err)
                                (format t "Caught error ~a in cl-irc:read-message~%" err)))))
    (iolib:event-dispatch *event-base*))
  
  (defun make-orcabot-instance (config)
    (lambda ()
      (let ((*quitting* nil)
            (*random-state* (make-random-state t))
            (*event-base* (make-instance 'iolib:event-base)))
        (loop until *quitting* do
             (let (conn)
  
negative.code:                     (cl+ssl::ssl-error-syscall (err)
                        (format t "SSL error ~a~%" err))
                      (orcabot-exiting ()
                        (format t "Exiting gracefully")
                        (setf *quitting* t)
                        (irc:quit conn "Quitting")
                        (shutdown-dispatcher conn)
  