00001 // $Id: CSD_TP_Collocated_Synch_Request.cpp 76687 2007-01-29 19:18:13Z johnnyw $ 00002 00003 #include "tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.h" 00004 00005 ACE_RCSID (CSD_ThreadPool, 00006 TP_Collocated_Synch_Request, 00007 "$Id: CSD_TP_Collocated_Synch_Request.cpp 76687 2007-01-29 19:18:13Z johnnyw $") 00008 00009 #include "tao/ORB_Core.h" 00010 00011 #if !defined (__ACE_INLINE__) 00012 # include "tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl" 00013 #endif /* ! __ACE_INLINE__ */ 00014 00015 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00016 00017 TAO::CSD::TP_Collocated_Synch_Request::~TP_Collocated_Synch_Request() 00018 { 00019 } 00020 00021 00022 void 00023 TAO::CSD::TP_Collocated_Synch_Request::dispatch_i() 00024 { 00025 try 00026 { 00027 this->do_dispatch(); 00028 } 00029 catch (const ::CORBA::Exception& ex) 00030 { 00031 // We need to save off a copy of the exception. 00032 this->exception_ = ex._tao_duplicate(); 00033 } 00034 catch (...) 00035 { 00036 ACE_NEW (this->exception_ , 00037 CORBA::UNKNOWN (CORBA::SystemException::_tao_minor_code 00038 (TAO_UNHANDLED_SERVER_CXX_EXCEPTION, 0), 00039 CORBA::COMPLETED_MAYBE)); 00040 } 00041 00042 this->synch_helper_.dispatched(); 00043 } 00044 00045 void 00046 TAO::CSD::TP_Collocated_Synch_Request::cancel_i() 00047 { 00048 this->synch_helper_.cancelled(); 00049 } 00050 00051 TAO_END_VERSIONED_NAMESPACE_DECL