Hi, In Gambit 4.7.2 documentation, in the section dedicated to threads, there is the following code example :
(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