anchor.diff:             (setf *world-stop-pending* self)
              (return))
            ;; Wait for the world to unstop.
  +         ;; FIXME: This can still cause deadlocks when reacquiring the lock.
            (condition-wait *world-stop-cvar* *world-stop-lock*))
         ;; Now wait for any PA threads to finish.
         (loop
            (when (zerop *pseudo-atomic-thread-count*)
              (return))
  +         ;; FIXME: Same here.
            (condition-wait *world-stop-cvar* *world-stop-lock*))
         (safe-without-interrupts (self)
           (acquire-global-thread-lock)
  
positive.code:        (when (null *world-stop-pending*)
           (return))
         ;; Don't go PA if there is a thread waiting to stop the world.
         (condition-wait *world-stop-cvar* *world-stop-lock*))
      ;; TODO: Have a list of pseudo atomic threads, and prevent PA threads
      ;; from being inspected.
  
negative.code:               *world-stop-pending* nil)
          (release-global-thread-lock))
        (quiesce-cpus-for-world-stop))
      (unwind-protect
          (funcall thunk)
        (with-world-stop-lock ()
          ;; Release the dogs!
  