_full_condition.notify_all ();
}
- for (vector<boost::thread*>::iterator i = _worker_threads.begin(); i != _worker_threads.end(); ++i) {
- (*i)->join ();
- delete *i;
+ BOOST_FOREACH (boost::thread* i, _worker_threads) {
+ DCPOMATIC_ASSERT (i->joinable ());
+ i->join ();
+ delete i;
}
_io_service.stop ();
_broadcast.io_service.stop ();
if (_broadcast.thread) {
+ DCPOMATIC_ASSERT (_broadcast.thread->join ());
_broadcast.thread->join ();
}
}
_search_condition.notify_all ();
if (_search_thread) {
+ DCPOMATIC_ASSERT (_search_thread->joinable ());
_search_thread->join ();
}
_listen_io_service.stop ();
if (_listen_thread) {
+ DCPOMATIC_ASSERT (_listen_thread->joinable ());
_listen_thread->join ();
}
}