anchor.diff:  	 (%release-lock lock))
          (mp:process-add-arrest-reason *current-process* cv)
          (let ((cv-val nil))
  -	 (with-lock-held cv-lock
  +	 (with-lock-held (cv-lock)
   	   (setq cv-val (condition-variable-value cv))
   	   (when cv-val
   	     (setf (condition-variable-value cv) nil)))
  
positive.code: 
  (defun %release-lock (lock) ; copied from with-lock-held in multiproc.lisp
    #+i486 (kernel:%instance-set-conditional
  	  ,lock 2 *current-process* nil)
    #-i486 (when (eq (lock-process ,lock) *current-process*)
  	   (setf (lock-process ,lock) nil)))
  
  (defun condition-wait (cv lock &optional timeout)
    (declare ignore timeout)		;For now
    (loop
       (let ((cv-lock (condition-variable-lock cv)))
         (with-lock-held cv-lock
  	 (when (condition-variable-value cv)
  	   (setf (condition-variable-value cv) nil)
  	   (return-from condition-wait t))
  
negative.code: 	   (return-from condition-wait t))))))
  
  (defun condition-notify (cv)
    (with-lock-held ((condition-variable-lock cv))
      (let ((proc (pop (condition-variable-process-queue cv))))
        ;; The waiting process may have released the CV lock but not
        ;; suspended itself yet
  