$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-08-30 07:08:16
From: "William Kempf" <williamkempf_at_[hidden]>
> As of yesterday I checked in the proposed implementation, including the
> documentation. The documentation was also posted to this list a week or
so
> ago when this thread started. But to answer the questions, calls to a
> thread objects that are non-joinable (default constructed thread objects
and
> thread objects that have already been "joined") result in undefined
> behavior, and is a programmatic error.
Why the stricter requirement of undefined behavior for subsequent joins? Why
not simply 'no effect'?
Is boost::thread thread safe? IOW are calls to boost::thread::join
serialized?
What happens when two threads simultaneously call x.join()?
[Analysis:
case 1: access not serialized. Undefined behavior.
case 2: access serialized. Undefined behavior (second join.)
case 3: access serialized, subsequent joimns have no effect. Well defined
behavior. Both threads join x.]
-- Peter Dimov Multi Media Ltd.