On Mon, Oct 24, 2011 at 9:19 AM, Mark Evenson evenson.not.org@gmail.com wrote:
Unfortunately, we probably do want NIL here: we can't guarantee that the thread has been destroyed when this application returns. So, I would argue we can't plausibly return T. Unless T means just: "the user has requested the thread destroyed" type contract?
Thanks for the response.
That seems like a different issue. The purpose is not to guarantee that the thread is destroyed.
The behavior sought is: when the protected form stops executing, run the cleanup forms.
In fact it's fine if the thread is never destroyed. But if the protected form happens to stop, at that moment execute cleanup. As I understand it, this is the behavior of the other implementations.
Whether or when the corresponding thread dies is not directly relevant; as long as the cleanup runs, it doesn't matter.
In my case I am only interested in detecting the termination of a thread without polling. Maybe there is an ABCL-specific way to do that.