本文整理汇总了C++中ACE_Reactor::wakeup_all_threads方法的典型用法代码示例。如果您正苦于以下问题:C++ ACE_Reactor::wakeup_all_threads方法的具体用法?C++ ACE_Reactor::wakeup_all_threads怎么用?C++ ACE_Reactor::wakeup_all_threads使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ACE_Reactor
的用法示例。
在下文中一共展示了ACE_Reactor::wakeup_all_threads方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
TAO_Thread_Lane_Resources::shutdown_reactor (void)
{
TAO_Leader_Follower &leader_follower = this->leader_follower ();
ACE_GUARD (TAO_SYNCH_MUTEX,
ace_mon,
leader_follower.lock ());
ACE_Reactor *reactor = leader_follower.reactor ();
// Wakeup all the threads waiting blocked in the event loop, this
// does not guarantee that they will all go away, but reduces the
// load on the POA....
// If there are some client threads running we have to wait until
// they finish, when the last one does it will shutdown the reactor
// for us. Meanwhile no new requests will be accepted because the
// POA will not process them.
if (!this->orb_core_.resource_factory ()->drop_replies_during_shutdown () &&
leader_follower.has_clients ())
{
reactor->wakeup_all_threads ();
}
else
{
// End the reactor if we want shutdown dropping replies along the
// way.
reactor->end_reactor_event_loop ();
}
}