anchor.diff:  
   (defmacro with-mutex ((mutex &key (wait-p t) resignal-errors) &body body)
     "Run body with MUTEX locked.
  -May be used from an interrupt handler when TIMEOUT is 0.
  +May be used from an interrupt handler when WAIT-P is NIL.
   If RESIGNAL-ERRORS is non-NIL, any conditions signalled inside BODY
   that match the type specified by RESIGNAL-ERRORS (as by HANDLER-CASE/-BIND)
   will be resignalled (via ERROR) with the lock released.
  
positive.code: 
  (defun make-watcher-event-monitor (watcher object event)
    "Create a new event watcher monitor."
    ;; Structured so that CONS-IN-AREA isn't called inside the pool lock.
    (flet ((pop-pool ()
             (let ((monitor (object-pool-pop *watcher-monitor-pool*)))
               (when monitor
                 (setf (watcher-event-monitor-watcher monitor) watcher
                       (watcher-event-monitor-event monitor) event
                       (watcher-event-monitor-object monitor) object)
                 monitor))))
      (declare (dynamic-extent #'pop-pool))
      (or (pop-pool)
          (%make-watcher-event-monitor watcher object event))))
  
  (defun unmake-watcher-event-monitor (monitor)
    ;; Don't leak objects.
  
negative.code: 
  (defun make-rw-lock (&optional name)
    (let ((rw-lock (%make-rw-lock name)))
      (setf (rw-lock-writer-wait-queue rw-lock)
            (make-wait-queue :name (sys.int::list-in-area
                                    :wired
                                    :writer rw-lock)))
      (setf (rw-lock-reader-wait-queue rw-lock)
            (make-wait-queue :name (sys.int::list-in-area
                                    :wired
                                    :reader rw-lock)))
      rw-lock))
  
  (defun rw-lock-read-acquire-slow (sp fp rw-lock)
  