(define thread-alive?
(let ((unique (list ’unique)))
(lambda (thread)
; Note: this procedure raises an exception if
; the thread terminated abnormally.
(eq? (thread-join! thread 0 unique) unique))))
This code is actually incorrect (according to gsi), the let is rejected. I believe that :
(define thread-alive?
(lambda (thread)
(eq? (thread-join! thread 0 'unique) 'unique)))
should be enough (though I do not know what happens if the thread returns nothing). I would like to know if there was some precise reason behind this let construction.
Thanks,
Denis