00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #include "DCPS/DdsDcps_pch.h" //Only the _pch include should start with DCPS/ 00009 #include "ReactorSynch.h" 00010 #include "dds/DCPS/debug.h" 00011 00012 #if !defined (__ACE_INLINE__) 00013 #include "ReactorSynch.inl" 00014 #endif /* __ACE_INLINE__ */ 00015 00016 OpenDDS::DCPS::ReactorSynch::~ReactorSynch() 00017 { 00018 DBG_ENTRY_LVL("ReactorSynch","~ReactorSynch",6); 00019 00020 // Release out unmanaged copy of the handler. 00021 // The managed copy will perform the actual delete. 00022 scheduleOutputHandler_ = 0; 00023 00024 if (DCPS_debug_level > 4) { 00025 std::size_t id = 0; 00026 RcHandle<ThreadSynchWorker> worker = this->worker().lock(); 00027 if( worker) { 00028 id = worker->id(); 00029 } 00030 ACE_DEBUG((LM_DEBUG, 00031 ACE_TEXT("(%P|%t) ReactorSynch::~ReactorSynch() [%d] - ") 00032 ACE_TEXT("dismantling synch %C worker.\n"), 00033 id,(worker?"with":"without"))); 00034 } 00035 } 00036 00037 void 00038 OpenDDS::DCPS::ReactorSynch::work_available() 00039 { 00040 DBG_ENTRY_LVL("ReactorSynch","work_available",6); 00041 00042 // Schedule queued data to be sent by the reactor. 00043 scheduleOutputHandler_->schedule_output(); 00044 } 00045