From: Alexander Terekhov (terekhov_at_[hidden])
Date: 2001-08-09 08:43:02
> > on return from "REAL join or native join" the "joined" thread
> > (which *before the join* might have already terminated but not
> > yet been destroyed) does not exist anymore. destroyed.. gone..
> > completely! there is nothing to real/native-join with after that
> > thread has been destroyed. native/real join is a sort of "delete"
> > of internal thread objects. the alternative is to call "detach"..
> > which would first check whether that thread is still running
> > (has not terminated already):
> I see. So, the traditional join has a different purpose from the
> Boost.Thread join: In Boost, the join is not meant as a means of
> clean-up, is it?
well, "traditional" join provides some special/strong
thread termination thread guarantees:
"For instance, after pthread_join() returns, any
application-provided stack storage could be reclaimed."
IMHO Boost.Threads should not relax it even if it would
allow to call join multiple times (and on multiple threads).
because it would provide an extra C++ thread object to
"join with". that is why i think "join" name is justified.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk