anchor.diff:  
   (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))))
  +  (let ((monitor (object-pool-pop *watcher-monitor-pool*)))
  +    (cond (monitor
  +           (setf (watcher-event-monitor-watcher monitor) watcher
  +                 (watcher-event-monitor-event monitor) event
  +                 (watcher-event-monitor-object monitor) object)
  +           monitor)
  +          (t
  +           (%make-watcher-event-monitor watcher object event)))))
   
   (defun unmake-watcher-event-monitor (monitor)
     ;; Don't leak objects.
  
positive.code:            (,timeout-sym ,timeout))
         (block nil
           (flet ((,predicate-fn () (progn ,@predicate)))
             (cond ((eql ,timeout-sym 0)
                    (values (,predicate-fn) 0))
                   (,timeout-sym
  
negative.code: 
  (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 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.
  