anchor.diff:              (setf *pager-current-thread* *pager-waiting-threads*
                     *pager-waiting-threads* (thread-%next *pager-current-thread*))
               (return))
  -          (condition-wait *pager-cvar* *pager-lock*)))
  +          ;; 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.
  
positive.code: 
  (defvar *pager-waiting-threads*)
  (defvar *pager-current-thread*)
  (defvar *pager-cvar*)
  (defvar *pager-lock*)
  
  (defvar *disks*)
  
negative.code:   (when (not (boundp '*pager-waiting-threads*))
      (setf *pager-waiting-threads* '()
            *pager-current-thread* nil
            *pager-lock* (make-mutex "Pager lock" :spin)))
    (when *pager-current-thread*
      ;; Push any current thread back on the waiting threads list.
  