anchor.diff:                     (return itr)))))
           (setf (wfo-links wfo) '())
           (dolist (event (wfo-events wfo))
  -          (let ((link (deregister-from-event event wfo)))
  +          (let ((link (unregister-from-event event wfo)))
               (setf (cdr link) (wfo-links wfo)
                     (wfo-links wfo) link)))))))
   
  
positive.code:     (when completed
        ;; There were some completed events.
        (release-place-spinlock *big-wait-for-objects-lock*)
        (return-from wfo-wait-1 completed)))
    ;; Register our wait queue with each event.
    (dolist (event (wfo-events wfo))
  
negative.code:   ;; Loop required because the thread may be woken up and
    ;; not have any ready events.
    (loop
       (unwind-protect
            (let ((completed (%call-on-wired-stack-without-interrupts
                              #'wfo-wait-1 nil
                              wfo)))
              (when completed
                (return completed)))
         ;; There are 4 ways to end up here:
         ;; 1) Normal return from WFO-WAIT-1 with completed events.
         ;; 2) Normal return without any completed events.
         ;; 3) Interrupted sleep, via normal return from the wfo unsleep helper.
         ;; 4) Interrupted sleep, via unwind.
         ;; Cases 2,3,4 are all effectively identical: WFO-WAIT-1 registered
         ;; the WFO with events and went to sleep. The WFO must be unregistered
         ;; from the events.
         ;; Case 1 is special: WFO-WAIT-1 did not register with any events and
         ;; WFO-UNREGISTER must *not* be called.
         ;; UNWIND-PROTECT catches case 4, cases 2 and 3 could be done in
         ;; the loop without an unwind protect. UNWIND-PROTECT screws over
         ;; case 1, so a specific test is required to avoid this.
         ;; WFO-LINKS is set to :COMPLETED when WFO-WAIT-1 picks up & returns
         ;; completed events. This is set in WFO-WAIT-1 - not in the WHEN above -
         ;; to avoid racing with further footholds (interrupts are disabled).
         (when (not (eql (wfo-links wfo) :completed))
           (wfo-unregister wfo)))))
  
  (defun wait-for-objects (&rest objects)
    ;; Objects converted to events.
  