[slime-devel] sbcl: continual warnings about releasing threads ... me too
Jason Addison
jraddison at gmail.com
Sat Aug 30 10:04:36 UTC 2008
I just wanted to say "me too" on this issue.
Mac OS X 10.5.4; Intel
sbcl 1.0.19 (compiled to enable threads)
slime from 8/28/08
I tried the work around (remove the SB-EXT:WITH-TIMEOUT form in
RECEIVE-IF in swank-sbcl.lisp) mentioned earlier. I'm not sure if I
did it correctly ...
(defimplementation receive-if (test &optional timeout)
(let* ((mbox (mailbox (current-thread)))
(mutex (mailbox.mutex mbox)))
(assert (or (not timeout) (eq timeout t)))
(loop
(check-slime-interrupts)
(sb-thread:with-mutex (mutex)
(let* ((q (mailbox.queue mbox))
(tail (member-if test q)))
(when tail
(setf (mailbox.queue mbox) (nconc (ldiff q tail) (cdr tail)))
(return (car tail))))
(when (eq timeout t) (return (values nil t)))
(handler-case ;(sb-ext:with-timeout 0.2
(sb-thread:condition-wait (mailbox.waitqueue mbox)
mutex);)
(sb-ext:timeout ()))
)
)))
It seems to be working???
Thanks,
Jason
More information about the slime-devel
mailing list