anchor.diff:          (release-fd-bindings taken-bindings))
   
         (unwind-protect (funcall fn)
  -        (with-lock-held (%fd-retain-count-table-lock%)
  +        (with-recursive-lock-held (%fd-retain-count-table-lock%)
             (loop :for fd :across *autorelease-fd-scope* :do
                (%fd-release fd)))
           (release-fd-bindings *fd-bindings*)))))
  
positive.code:   (unless *fd-bindings*
      (error "Cannot bind without an fd-scope"))
    (debug-log status "BIND ~A = ~A (~A)" fd fd-value *fd-bindings*)
    (with-lock-held (%fd-retain-count-table-lock%)
      (let ((old-value (fset:lookup *fd-bindings* fd)))
        (setf (fset:lookup *fd-bindings* fd) fd-value)
        (when (%fd-managed-p fd-value)
  
negative.code:   (:documentation
     "This table tracks how many outstanding retains each file
  descriptor has."))
  (define-once-global %fd-retain-count-table-lock% (make-recursive-lock)
    (:documentation
     "This lock protects `%fd-retain-count-table-lock%'."))
  
  