diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2007-02-05 20:23:47 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2007-02-05 20:23:47 +0000 |
commit | d7853d8bc5e61edb446785cc2d71c24f7b239856 (patch) | |
tree | 9a6193c3712fecb112533c1834e12ef5870aa822 /TAO/tao/Invocation_Base.cpp | |
parent | f8fc9cef7fb4044f499710f0e5b3808e532c4c8a (diff) | |
download | ATCD-d7853d8bc5e61edb446785cc2d71c24f7b239856.tar.gz |
Mon Feb 5 20:16:14 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao/Invocation_Base.cpp')
-rw-r--r-- | TAO/tao/Invocation_Base.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/TAO/tao/Invocation_Base.cpp b/TAO/tao/Invocation_Base.cpp index 47727606a5b..eefdf4a6456 100644 --- a/TAO/tao/Invocation_Base.cpp +++ b/TAO/tao/Invocation_Base.cpp @@ -10,7 +10,7 @@ #if TAO_HAS_INTERCEPTORS == 1 # include "tao/PortableInterceptorC.h" # include "tao/ClientRequestInterceptor_Adapter_Factory.h" -#endif /* TAO_HAS_INTERCEPTORS == 1*/ +#endif /* TAO_HAS_INTERCEPTORS == 1 */ #if !defined (__ACE_INLINE__) # include "tao/Invocation_Base.inl" @@ -24,6 +24,13 @@ ACE_RCSID (tao, TAO_BEGIN_VERSIONED_NAMESPACE_DECL +namespace +{ + // Exception used to represent non-CORBA exceptions. A global + // instance is used since it will never be modified. + CORBA::UNKNOWN /* const */ unknown_exception; +} + namespace TAO { Invocation_Base::Invocation_Base (CORBA::Object_ptr ot, @@ -31,7 +38,7 @@ namespace TAO TAO_Stub *stub, TAO_Operation_Details &details, bool response_expected, - bool request_is_remote) + bool TAO_INTERCEPTOR (request_is_remote)) : details_ (details) , forwarded_to_ (0) , response_expected_ (response_expected) @@ -45,18 +52,15 @@ namespace TAO , invoke_status_ (TAO_INVOKE_START) , caught_exception_ (0) , is_remote_request_ (request_is_remote) -#endif /*TAO_HAS_INTERCEPTORS == 1*/ +#endif /* TAO_HAS_INTERCEPTORS == 1 */ { -#if TAO_HAS_INTERCEPTORS == 0 - ACE_UNUSED_ARG (request_is_remote); -#endif /*TAO_HAS_INTERCEPTORS == 0*/ } Invocation_Base::~Invocation_Base (void) { #if TAO_HAS_INTERCEPTORS == 1 adapter_ = 0; -#endif /*TAO_HAS_INTERCEPTORS == 1*/ +#endif /* TAO_HAS_INTERCEPTORS == 1 */ } void @@ -147,7 +151,11 @@ namespace TAO catch ( ::CORBA::Exception& ex) { (void) this->handle_any_exception (&ex); - + throw; + } + catch (...) + { + (void) this->handle_all_exception (); throw; } @@ -227,7 +235,7 @@ namespace TAO return -1; } } -#endif /*TAO_HAS_INTERCEPTORS == 1*/ +#endif /* TAO_HAS_INTERCEPTORS == 1 */ } TAO_END_VERSIONED_NAMESPACE_DECL |