diff options
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 10 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp | 75 | ||||
-rw-r--r-- | TAO/tao/PortableServer/POA.cpp | 2 |
3 files changed, 59 insertions, 28 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 61a1d8128a0..448a2569307 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,13 @@ +Mon Dec 03 13:51:28 2001 Carlos O'Ryan <coryan@uci.edu> + + * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp: + Use a different technique to deal with plaforms with and without + exception handling. This does not require #ifdefs in this code, + and it actually may improve performance. + + * tao/PortableServer/POA.cpp: + Clear warning about unused variable + Wed Nov 14 13:42:42 2001 Craig Rodrigues <crodrigu@bbn.com> * orbsvcs/orbsvcs/AV/RTCP.h: diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp index f8104946aee..0c404251601 100644 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp +++ b/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp @@ -16,15 +16,20 @@ ACE_RCSID(ESF, ESF_Delayed_Command, "$Id$") template<class Target, class Object> int TAO_ESF_Connected_Command<Target,Object>::execute (void* arg) { - CORBA::Environment *env = &TAO_default_environment (); if (arg != 0) - env = ACE_static_cast(CORBA::Environment*, arg); + { + CORBA::Environment &ACE_TRY_ENV = + *ACE_static_cast(CORBA::Environment*, arg); + this->target_->connected_i (this->object_ + TAO_ENV_ARG_PARAMETER); + } + else + { + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment (); + this->target_->connected_i (this->object_ + TAO_ENV_ARG_PARAMETER); + } - this->target_->connected_i (this->object_ -#if !defined (TAO_HAS_EXCEPTIONS) || defined (TAO_ENV_BKWD_COMPAT) - , *env -#endif - ); return 0; } @@ -37,11 +42,19 @@ TAO_ESF_Reconnected_Command<Target,Object>::execute (void* arg) if (arg != 0) env = ACE_static_cast(CORBA::Environment*, arg); - this->target_->reconnected_i (this->object_ -#if !defined (TAO_HAS_EXCEPTIONS) || defined (TAO_ENV_BKWD_COMPAT) - , *env -#endif - ); + if (arg != 0) + { + CORBA::Environment &ACE_TRY_ENV = + *ACE_static_cast(CORBA::Environment*, arg); + this->target_->reconnected_i (this->object_ + TAO_ENV_ARG_PARAMETER); + } + else + { + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment (); + this->target_->reconnected_i (this->object_ + TAO_ENV_ARG_PARAMETER); + } return 0; } @@ -50,15 +63,19 @@ TAO_ESF_Reconnected_Command<Target,Object>::execute (void* arg) template<class Target, class Object> int TAO_ESF_Disconnected_Command<Target,Object>::execute (void* arg) { - CORBA::Environment *env = &TAO_default_environment (); if (arg != 0) - env = ACE_static_cast(CORBA::Environment*, arg); - - this->target_->disconnected_i (this->object_ -#if !defined (TAO_HAS_EXCEPTIONS) || defined (TAO_ENV_BKWD_COMPAT) - , *env -#endif - ); + { + CORBA::Environment &ACE_TRY_ENV = + *ACE_static_cast(CORBA::Environment*, arg); + this->target_->disconnected_i (this->object_ + TAO_ENV_ARG_PARAMETER); + } + else + { + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment (); + this->target_->disconnected_i (this->object_ + TAO_ENV_ARG_PARAMETER); + } return 0; } @@ -67,15 +84,17 @@ TAO_ESF_Disconnected_Command<Target,Object>::execute (void* arg) template<class Target> int TAO_ESF_Shutdown_Command<Target>::execute (void* arg) { - CORBA::Environment *env = &TAO_default_environment (); if (arg != 0) - env = ACE_static_cast(CORBA::Environment*, arg); - - this->target_->shutdown_i ( -#if !defined (TAO_HAS_EXCEPTIONS) || defined (TAO_ENV_BKWD_COMPAT) - *env -#endif - ); + { + CORBA::Environment &ACE_TRY_ENV = + *ACE_static_cast(CORBA::Environment*, arg); + this->target_->shutdown_i (TAO_ENV_SINGLE_ARG_PARAMETER); + } + else + { + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment (); + this->target_->shutdown_i (TAO_ENV_SINGLE_ARG_PARAMETER); + } return 0; } diff --git a/TAO/tao/PortableServer/POA.cpp b/TAO/tao/PortableServer/POA.cpp index 9d72d083305..efc47afd0b8 100644 --- a/TAO/tao/PortableServer/POA.cpp +++ b/TAO/tao/PortableServer/POA.cpp @@ -3437,6 +3437,8 @@ TAO_POA::imr_notify_startup (TAO_ENV_SINGLE_ARG_DECL) } ACE_CATCH (CORBA::SystemException, sysex) { + // Avoid warnings on platforms with native C++ exceptions + ACE_UNUSED_ARG (sysex); ACE_RE_THROW; } ACE_CATCHANY |