Public Member Functions | |
ReadTask (ShmemTransport *outer, ACE_sema_t semaphore) | |
int | svc () |
void | stop () |
Public Attributes | |
ShmemTransport * | outer_ |
ACE_sema_t | semaphore_ |
bool | stopped_ |
Definition at line 85 of file ShmemTransport.h.
OpenDDS::DCPS::ShmemTransport::ReadTask::ReadTask | ( | ShmemTransport * | outer, | |
ACE_sema_t | semaphore | |||
) |
Definition at line 243 of file ShmemTransport.cpp.
References ACE_Task_Base::activate().
00244 : outer_(outer) 00245 , semaphore_(semaphore) 00246 , stopped_(false) 00247 { 00248 activate(); 00249 }
void OpenDDS::DCPS::ShmemTransport::ReadTask::stop | ( | void | ) |
Definition at line 265 of file ShmemTransport.cpp.
References ACE_OS::sema_post(), semaphore_, stopped_, and ACE_Task_Base::wait().
00266 { 00267 stopped_ = true; 00268 ACE_OS::sema_post(&semaphore_); 00269 wait(); 00270 }
int OpenDDS::DCPS::ShmemTransport::ReadTask::svc | ( | void | ) | [virtual] |
Reimplemented from ACE_Task_Base.
Definition at line 252 of file ShmemTransport.cpp.
References outer_, OpenDDS::DCPS::ShmemTransport::read_from_links(), ACE_OS::sema_wait(), semaphore_, and stopped_.
00253 { 00254 while (true) { 00255 ACE_OS::sema_wait(&semaphore_); 00256 if (stopped_) { 00257 return 0; 00258 } 00259 outer_->read_from_links(); 00260 } 00261 return 1; 00262 }
Definition at line 90 of file ShmemTransport.h.
Referenced by svc().
Definition at line 91 of file ShmemTransport.h.
Definition at line 92 of file ShmemTransport.h.