summaryrefslogtreecommitdiff
path: root/TAO/tao/Utils/Servant_Var.inl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Utils/Servant_Var.inl')
-rw-r--r--TAO/tao/Utils/Servant_Var.inl25
1 files changed, 15 insertions, 10 deletions
diff --git a/TAO/tao/Utils/Servant_Var.inl b/TAO/tao/Utils/Servant_Var.inl
index 80138c6fae3..ad00a9e1eb3 100644
--- a/TAO/tao/Utils/Servant_Var.inl
+++ b/TAO/tao/Utils/Servant_Var.inl
@@ -54,23 +54,26 @@ operator=(T * p)
return *this;
}
-template <class T>
-ACE_INLINE TAO::Utils::Servant_Var<T>::
-~Servant_Var()
+template <class T> ACE_INLINE
+TAO::Utils::Servant_Var<T>::~Servant_Var ()
+ ACE_THROW_SPEC (())
{
+ ACE_DECLARE_NEW_CORBA_ENV;
// Unfortunately, there is no throw spec on _remove_ref, so we
// can't assume that it will not throw. If it does, then we are in
// trouble. In any event, we can't let the exception escape our
// destructor.
if (ptr_ != 0)
{
- try
- {
- ptr_->_remove_ref();
- }
- catch (...)
- {
- }
+ ACE_TRY
+ {
+ ptr_->_remove_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHALL
+ {
+ }
+ ACE_ENDTRY;
}
}
@@ -183,6 +186,8 @@ operator==(TAO::Utils::Servant_Var<X> const & x,
return x.in() == y.in();
}
+// -*- C++ -*-
+// $Id$
template <class X, class Y>
ACE_INLINE bool
operator!=(TAO::Utils::Servant_Var<X> const & x,