anchor.diff:                *world-stop-pending* nil)
           (release-global-thread-lock))
         (quiesce-cpus-for-world-stop))
  -    ;; Don't hold the mutex over the thunk, it's a spinlock and disables interrupts.
  -    (multiple-value-prog1
  +    (unwind-protect
           (funcall thunk)
         (with-world-stop-lock ()
           ;; Release the dogs!
  
positive.code:            (setf *world-stop-pending* self)
             (return))
           ;; Wait for the world to unstop.
           (condition-wait *world-stop-cvar* *world-stop-lock*))
        ;; Now wait for any PA threads to finish.
        (loop
           (when (zerop *pseudo-atomic-thread-count*)
             (return))
           (condition-wait *world-stop-cvar* *world-stop-lock*))
        (safe-without-interrupts (self)
          (acquire-global-thread-lock)
  
negative.code:        (when (null *world-stop-pending*)
           (return))
         ;; Don't go PA if there is a thread waiting to stop the world.
         ;; FIXME: Can deadlock...
         (condition-wait *world-stop-cvar* *world-stop-lock*))
      ;; TODO: Have a list of pseudo atomic threads, and prevent PA threads
      ;; from being inspected.
  