Denis, the unique variable is for it to work even if the thread ended its execution by returning a symbol by the name unique - it interprets fine, what's your err?
2014-05-12 2:38 GMT+02:00 Denis Fourt denis.prog@hotmail.com:
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
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list