summaryrefslogtreecommitdiff
path: root/TAO/tao/Valuetype/ValueBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Valuetype/ValueBase.cpp')
-rw-r--r--TAO/tao/Valuetype/ValueBase.cpp32
1 files changed, 28 insertions, 4 deletions
diff --git a/TAO/tao/Valuetype/ValueBase.cpp b/TAO/tao/Valuetype/ValueBase.cpp
index 356994efa9c..264de9bbf87 100644
--- a/TAO/tao/Valuetype/ValueBase.cpp
+++ b/TAO/tao/Valuetype/ValueBase.cpp
@@ -365,8 +365,8 @@ CORBA::DefaultValueRefCountBase::DefaultValueRefCountBase (void)
void
CORBA::DefaultValueRefCountBase::_tao_add_ref (void)
{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
+ ACE_GUARD (TAO_SYNCH_MUTEX,
+ guard,
this->_tao_reference_count_lock_);
++this->_tao_reference_count_;
@@ -376,8 +376,8 @@ void
CORBA::DefaultValueRefCountBase::_tao_remove_ref (void)
{
{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
+ ACE_GUARD (TAO_SYNCH_MUTEX,
+ guard,
this->_tao_reference_count_lock_);
--this->_tao_reference_count_;
@@ -439,3 +439,27 @@ operator>> (TAO_InputCDR &strm,
_tao_valuetype);
}
+// =============== Template Specializations =====================
+namespace TAO
+{
+ void
+ Value_Traits<CORBA::ValueBase>::tao_add_ref (
+ CORBA::ValueBase *p)
+ {
+ CORBA::add_ref (p);
+ }
+
+ void
+ Value_Traits<CORBA::ValueBase>::tao_remove_ref (
+ CORBA::ValueBase * p)
+ {
+ CORBA::remove_ref (p);
+ }
+
+ void
+ Value_Traits<CORBA::ValueBase>::tao_release (
+ CORBA::ValueBase * p)
+ {
+ CORBA::remove_ref (p);
+ }
+}