anchor.diff:                                                          (shiftf *pending-actions* '()))))
                                                   (mapc #'funcall actions)))
                                             :single-shot nil))
  -                        (bt:condition-notify loop-ready)))
  +                        (bt:condition-notify loop-ready))
  +                      (when on-startup
  +                        (funcall on-startup)))
                    (format *debug-io* "~&;; event thread exited.~%")))
              :name "event-thread"))
       (bt:with-lock-held (loop-ready-lock)
  
positive.code:   "Wrap ACTION (a function) by establishing ABORT-CALLBACK and EXIT-EVENT-LOOP restarts."
    #'(lambda ()
        (cl-async-util:call-with-callback-restarts
          action 
          :abort-restart-description "Abort the current action.")))
  
  (defun schedule-action (action)
  
negative.code:   (schedule-action #'as:exit-event-loop)
    (values))
  
  (defun start-event-thread (&key exit-callback on-startup)
    "Start event thread. ON-STARTUP is called in the event loop thread
    after it's started. EXIT-CALLBACK is called upon the event loop
    termination."
    (assert (not *event-thread*) () "event thread already started")
    (let ((global-values (mapcar #'symbol-value *globals*))
          (loop-ready-lock (bt:make-lock))
  