summaryrefslogtreecommitdiff
path: root/tao/Object.h
diff options
context:
space:
mode:
Diffstat (limited to 'tao/Object.h')
-rw-r--r--tao/Object.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/tao/Object.h b/tao/Object.h
index 01c224cd7d7..18c5fc7263d 100644
--- a/tao/Object.h
+++ b/tao/Object.h
@@ -32,7 +32,7 @@
#include "tao/Object_Argument_T.h"
#include "tao/Arg_Traits_T.h"
#include "tao/Any_Insert_Policy_T.h"
-#include "tao/Configurable_Refcount.h"
+#include "ace/Atomic_Op.h"
#if defined (HPUX) && defined (IOR)
/* HP-UX 11.11 defines IOR in /usr/include/pa/inline.h
@@ -40,10 +40,6 @@
# undef IOR
#endif /* HPUX && IOR */
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-class ACE_Lock;
-ACE_END_VERSIONED_NAMESPACE_DECL
-
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
class TAO_Stub;
@@ -88,10 +84,10 @@ namespace CORBA
class Object;
typedef Object *Object_ptr;
-
+
typedef TAO_Pseudo_Var_T<Object> Object_var;
typedef TAO_Pseudo_Out_T<Object> Object_out;
-
+
template<>
TAO_Export Boolean
is_nil (Object_ptr);
@@ -228,7 +224,7 @@ namespace CORBA
virtual CORBA::ORB_ptr _get_orb (void);
/**
- * @name Reference Count Managment
+ * @name Reference Count Management
*
* These are the standard CORBA object reference count manipulations
* methods.
@@ -347,9 +343,9 @@ namespace CORBA
/// implement Smart Proxies and no others.
virtual char* convert_to_ior (bool use_omg_ior_format,
const char* ior_prefix) const;
-
+
/// Wrapper for _remove_ref(), naming convention for
- /// templatizing.
+ /// templatizing.
void _decr_refcount (void);
protected:
@@ -361,7 +357,7 @@ namespace CORBA
TAO::Object_Proxy_Broker *proxy_broker () const;
/// Number of outstanding references to this object.
- TAO_Configurable_Refcount refcount_;
+ ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> refcount_;
private:
@@ -410,7 +406,7 @@ namespace CORBA
* not require reference counting (the default) may be
* instantiated in the critical path.
*/
- ACE_Lock * object_init_lock_;
+ TAO_SYNCH_MUTEX object_init_lock_;
};
} // End CORBA namespace.