anchor.diff:    (when (not (boundp '*pager-waiting-threads*))
       (setf *pager-waiting-threads* '()
             *pager-current-thread* nil
  -          *pager-cvar* (make-condition-variable "Pager Cvar")
             *pager-lock* (make-mutex "Pager lock" :spin)))
     (when *pager-current-thread*
       ;; Push any current thread back on the waiting threads list.
  
positive.code:           (thread-wait-item self) address
            (thread-%next self) *pager-waiting-threads*
            *pager-waiting-threads* self)
      (condition-notify *pager-cvar*)
      (release-mutex *pager-lock*)
      (%reschedule-via-interrupt interrupt-frame)))
  
  
negative.code:             (setf *pager-current-thread* *pager-waiting-threads*
                    *pager-waiting-threads* (thread-%next *pager-current-thread*))
              (return))
            ;; Manually sleep, don't use condition variables or similar within ephemeral threads.
            (%lock-thread sys.int::*pager-thread*)
            (release-mutex *pager-lock*)
            (setf (thread-state sys.int::*pager-thread*) :sleeping
                  (thread-wait-item sys.int::*pager-thread*) '*pager-waiting-threads*)
            (%reschedule)
            (acquire-mutex *pager-lock*)))
       ;; Page it in
       (when (not (wait-for-page (thread-wait-item *pager-current-thread*)))
         ;; TODO: Dispatch this to a debugger thread.
  