// $Id$ #include "ace/Message_Block.h" #include "ace/Singleton.h" #include "ace/Synch_Traits.h" #include "ace/Null_Mutex.h" #include "jaws3/Concurrency_T.h" typedef ACE_Singleton JAWS_Empty_Message_Block; template JAWS_Concurrency_Bridge ::JAWS_Concurrency_Bridge (CONCURRENCY_IMPL *impl) : impl_ (impl) { if (this->impl_ == 0) this->impl_ = CONCURRENCY_IMPL::instance (); } template int JAWS_Concurrency_Bridge::putq (JAWS_Protocol_Handler *ph) { return this->impl_->putq (ph); } template int JAWS_Concurrency_Bridge::getq (JAWS_Protocol_Handler *&ph) { return this->impl_->getq (ph); } template void JAWS_Concurrency_Bridge::shutdown (void) { ACE_Message_Block *empty_mb = JAWS_Empty_Message_Block::instance (); JAWS_CONCURRENCY_TASK *task; task = this->impl_; task->putq (empty_mb); task->wait (); }