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 if( worker()) { 00027 id = worker()->id(); 00028 } 00029 ACE_DEBUG((LM_DEBUG, 00030 ACE_TEXT("(%P|%t) ReactorSynch::~ReactorSynch() [%d] - ") 00031 ACE_TEXT("dismantling synch %C worker.\n"), 00032 id,(worker()?"with":"without"))); 00033 } 00034 } 00035 00036 void 00037 OpenDDS::DCPS::ReactorSynch::work_available() 00038 { 00039 DBG_ENTRY_LVL("ReactorSynch","work_available",6); 00040 00041 // Schedule queued data to be sent by the reactor. 00042 scheduleOutputHandler_->schedule_output(); 00043 } 00044