15 #if !defined (__ACE_INLINE__) 42 flags = THR_NEW_LWP | THR_JOINABLE ;
45 flags |= THR_EXPLICIT_SCHED | this->
scheduler_;
48 flags |= THR_INHERIT_SCHED;
53 ACE_TEXT(
"(%P|%t) PerConnectionSynch::open(): ")
54 ACE_TEXT(
"activating thread with flags 0x%08.8x ")
90 "Top of infinite svc() loop\n"));
96 "Lock acquired. Check to see what to do next.\n"));
106 while ((work_outcome ==
111 "No work to do. Just wait on the condition.\n"));
114 "We are awake from waiting on the condition.\n"));
120 "Honoring the shutdown request.\n"), 5);
129 "Fatal error - Broken SynchResounce.\n"), 5);
135 "Reset our work_available_ flag to 0, and release lock.\n"), 5);
144 VDBG_LVL((
LM_DEBUG,
"(%P|%t) DBG: Need to wait for clogged resources to open up.\n"), 5);
150 "Fatal error - wait_on_clogged_resource fails.\n"), 5);
156 "Call perform_work()\n"));
160 work_outcome = worker->perform_work();
163 "call to perform_work() returned %d\n",work_outcome), 5);
180 return this->
open(0);
WeakRcHandle< ThreadSynchWorker > worker()
Access the worker implementation directly.
ConditionVariableType condition_
bool notify_one()
Unblock one of the threads waiting on this condition.
virtual int close(u_long)
virtual void unregister_worker_i()
virtual int register_worker_i()
int thr_sigsetmask(int how, const sigset_t *nsm, sigset_t *osm)
CvStatus wait(ThreadStatusManager &thread_status_manager)
Block until thread is woken up.
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
virtual ~PerConnectionSynch()
#define DBG_ENTRY_LVL(CNAME, MNAME, DBG_LVL)
#define VDBG_LVL(DBG_ARGS, LEVEL)
int wait_on_clogged_resource()
virtual int activate(long flags=THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, int n_threads=1, int force_active=0, long priority=ACE_DEFAULT_THREAD_PRIORITY, int grp_id=-1, ACE_Task_Base *task=0, ACE_hthread_t thread_handles[]=0, void *stack[]=0, size_t stack_size[]=0, ACE_thread_t thread_ids[]=0, const char *thr_name[]=0)
virtual void work_available()
#define TheServiceParticipant
int sigfillset(sigset_t *s)