diff options
Diffstat (limited to 'TAO/tao/ORB_Core.h')
-rw-r--r-- | TAO/tao/ORB_Core.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 29ee9d89f2e..f29cd02430d 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -40,8 +40,12 @@ #include "ace/Thread_Manager.h" #include "ace/Lock_Adapter_T.h" #include "ace/TSS_T.h" - #include "ace/Service_Config.h" +#if defined (ACE_HAS_CPP11) +# include <atomic> +#else +# include "ace/Atomic_Op.h" +#endif /* ACE_HAS_CPP11 */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL class ACE_Data_Block; @@ -1207,7 +1211,11 @@ protected: #endif /* TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1 */ /// Number of outstanding references to this object. +#if defined (ACE_HAS_CPP11) + std::atomic<uint32_t> refcount_; +#else ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> refcount_; +#endif /* ACE_HAS_CPP11 */ /// Registry containing all registered policy factories. TAO::PolicyFactory_Registry_Adapter *policy_factory_registry_; |