How can I reliably say that if the boost stream exited the start method? Fortunately, you can join the finished stream and avoid the race condition that arises if you had to conditionally join the stream only at startup.
But what about thread::interrupt()? Could it be called after the stream exits?
thread::interrupt()
Yes, it is safe to call this method.
From the documentation :
* , , .
boost::thread (*this) " ", , , .
boost::thread
*this