diff options
author | crodrigu <crodrigu@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-06-02 17:54:24 +0000 |
---|---|---|
committer | crodrigu <crodrigu@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-06-02 17:54:24 +0000 |
commit | d2c33e9a89b49f6c3e7ef710c62739af9a6adb0e (patch) | |
tree | 52650d8a6570f96665e5030684712a1ccfa430df /TAO/orbsvcs | |
parent | 35071522f1a1372cd9cfb369629c70a7e977d7ce (diff) | |
download | ATCD-d2c33e9a89b49f6c3e7ef710c62739af9a6adb0e.tar.gz |
ChangeLogTag: Sun Jun 2 17:52:17 UTC 2002 Craig Rodrigues <crodrigu@bbn.com>
Diffstat (limited to 'TAO/orbsvcs')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp | 38 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h | 3 |
2 files changed, 24 insertions, 17 deletions
diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp index 29cf08e133c..583fcc9e54e 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp @@ -29,16 +29,19 @@ TAO_IFR_Server::~TAO_IFR_Server (void) // Get reactor instance from TAO. ACE_Reactor *reactor = this->orb_->orb_core ()->reactor (); - // Remove event handler for the ior multicast. - if (reactor->remove_handler (this->ior_multicast_, - ACE_Event_Handler::READ_MASK) - == -1) - { - ACE_DEBUG (( - LM_DEBUG, - ACE_TEXT ("Interface Repository: cannot remove handler\n") - )); - } + if ( this->ior_multicast_ ) + { + // Remove event handler for the ior multicast. + if (reactor->remove_handler (this->ior_multicast_, + ACE_Event_Handler::READ_MASK) + == -1) + { + ACE_DEBUG (( + LM_DEBUG, + ACE_TEXT ("Interface Repository: cannot remove handler\n") + )); + } + } CORBA::release (this->repository_); delete this->config_; @@ -48,7 +51,8 @@ TAO_IFR_Server::~TAO_IFR_Server (void) int TAO_IFR_Server::init_with_orb (int argc, ACE_TCHAR *argv [], - CORBA::ORB_ptr orb) + CORBA::ORB_ptr orb, + int use_multicast_server) { ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY @@ -102,12 +106,14 @@ TAO_IFR_Server::init_with_orb (int argc, if (retval != 0) return retval; - retval = this->init_multicast_server (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (retval != 0) - return retval; + if (use_multicast_server) + { + retval = this->init_multicast_server (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + if (retval != 0) + return retval; + } ACE_DEBUG ((LM_DEBUG, "The IFR IOR is: <%s>\n", this->ifr_ior_.in ())); diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h index f053ae8fe84..bb4ac7f0ee3 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h +++ b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h @@ -42,7 +42,8 @@ public: int init_with_orb (int argc, ACE_TCHAR *argv [], - CORBA::ORB_ptr orb); + CORBA::ORB_ptr orb, + int use_multicast_server=1 ); // Initialize the IFR Service with the command line arguments and // the ORB. |