/[slime]/slime/swank-cmucl.lisp
ViewVC logotype

Diff of /slime/swank-cmucl.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.181 by heller, Mon Jun 2 18:24:41 2008 UTC revision 1.182 by heller, Sun Aug 3 18:23:10 2008 UTC
# Line 2110  The `symbol-value' of each element is a Line 2110  The `symbol-value' of each element is a
2110        (mp:with-lock-held (mutex)        (mp:with-lock-held (mutex)
2111          (pop (mailbox.queue mbox)))))          (pop (mailbox.queue mbox)))))
2112    
2113      (defimplementation receive-if (test)
2114        (let ((mbox (mailbox mp:*current-process*)))
2115          (mp:process-wait "receive-if"
2116                           (lambda (mbox test)
2117                             (some test (mailbox.queue mbox)))
2118                           mbox test)
2119          (mp:with-lock-held ((mailbox.mutex mbox))
2120            (let* ((q (mailbox.queue mbox))
2121                   (tail (member-if test q)))
2122              (assert tail)
2123              (setf (mailbox.queue mbox) (nconc (ldiff q tail) (cdr tail)))
2124              (car tail)))))
2125    
2126    ) ;; #+mp    ) ;; #+mp
2127    
2128    

Legend:
Removed from v.1.181  
changed lines
  Added in v.1.182

  ViewVC Help
Powered by ViewVC 1.1.5