Boost logo

Boost :

From: John Max Skaller (skaller_at_[hidden])
Date: 2001-08-14 10:03:28


Alexander Terekhov wrote:

> > > Calling join() multiple times on this object is valid...
>
> ok.
>
> > > any call made after the first simply exits immediately since all
> > > the cleanup has already been handled during the first call.
>
> NOT OK! (unless you have made it atomic, which i doubt) here you
> introduce different semantics for subsequent calls (could be done
> from different thread(s)). it should provide the same behavior
> (wait until term. is completed) in all cases (for all joining
> threads), IMHO.

        I'm hope that's what Bill meant: the postcondition
is the same for all calls: the thread is terminated.

        I note the clever semantics: this call would have to
throw an exception if the thread had been detached.
But there's no call to detach a thread, so it cannot happen:
threads are detached simply by not calling join.

-- 
John (Max) Skaller, mailto:skaller_at_[hidden] 
10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850
New generation programming language Felix  http://felix.sourceforge.net
Literate Programming tool Interscript     
http://Interscript.sourceforge.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk