28 #ifdef OPENDDS_NO_THREAD_JOIN
29 , finished_threads_(0)
35 for (
size_t i = 0; i < count; ++i) {
65 #ifdef OPENDDS_NO_THREAD_JOIN 67 ++pool.finished_threads_;
76 return id_set_.count(
id);
81 #ifdef OPENDDS_NO_THREAD_JOIN 83 while (finished_threads_ != ids_.size()) {
93 for (
size_t i = 0; i < ids.size(); ++i) {
95 ACE_UNUSED_ARG(result);
ThreadPool(size_t count, FunPtr fun, void *arg=0)
ConditionVariable< ACE_Thread_Mutex > cv_
bool notify_one()
Unblock one of the threads waiting on this condition.
static int spawn(ACE_THR_FUNC func, void *arg=0, long flags=THR_NEW_LWP|THR_JOINABLE, ACE_thread_t *t_id=0, ACE_hthread_t *t_handle=0, long priority=ACE_DEFAULT_THREAD_PRIORITY, void *stack=0, size_t stack_size=ACE_DEFAULT_THREAD_STACKSIZE, ACE_Thread_Adapter *thread_adapter=0, const char **thr_name=0)
#define OPENDDS_ASSERT(C)
static ACE_THR_FUNC_RETURN run(void *arg)
A static helper function used to redirect to requested thread start point.
static int join(ACE_thread_t thread_id, ACE_thread_t *departed, ACE_THR_FUNC_RETURN *status)
bool contains(ACE_thread_t id) const
static ACE_thread_t self(void)
bool notify_all()
Unblock all of the threads waiting on this condition.
CvStatus wait(ThreadStatusManager &thread_status_manager)
Block until thread is woken up.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
OPENDDS_VECTOR(ACE_hthread_t) ids_