[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