diff options
Diffstat (limited to 'tao/Refcounted_ObjectKey.inl')
-rw-r--r-- | tao/Refcounted_ObjectKey.inl | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tao/Refcounted_ObjectKey.inl b/tao/Refcounted_ObjectKey.inl index 117f9db4ee9..444ea27d38f 100644 --- a/tao/Refcounted_ObjectKey.inl +++ b/tao/Refcounted_ObjectKey.inl @@ -1,8 +1,6 @@ // -*- C++ -*- -// // $Id$ - TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void @@ -17,4 +15,20 @@ TAO::Refcounted_ObjectKey::object_key (void) const return this->object_key_; } +ACE_INLINE CORBA::ULong +TAO::Refcounted_ObjectKey::decr_refcount (void) +{ + if (--this->ref_count_ > 0) + { + return this->ref_count_; + } + + ACE_ASSERT (this->ref_count_ == 0); + + delete this; + + return 0; +} + + TAO_END_VERSIONED_NAMESPACE_DECL |