diff options
Diffstat (limited to 'ace')
-rw-r--r-- | ace/Atomic_Op.h | 4 | ||||
-rw-r--r-- | ace/Atomic_Op.inl | 4 | ||||
-rw-r--r-- | ace/Event_Handler.cpp | 14 | ||||
-rw-r--r-- | ace/Malloc_Instantiations.cpp | 5 |
4 files changed, 22 insertions, 5 deletions
diff --git a/ace/Atomic_Op.h b/ace/Atomic_Op.h index 7454946a64f..3cd7dad0d86 100644 --- a/ace/Atomic_Op.h +++ b/ace/Atomic_Op.h @@ -64,7 +64,7 @@ public: ACE_Atomic_Op (void); /// Initialize <value_> to c. - ACE_Atomic_Op (long c); + ACE_Atomic_Op (const long &c); /// Manage copying... ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, long> &c); @@ -163,7 +163,7 @@ public: ACE_Atomic_Op (void); /// Initialize <value_> to c. - ACE_Atomic_Op (unsigned long c); + ACE_Atomic_Op (const unsigned long &c); /// Manage copying... ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &c); diff --git a/ace/Atomic_Op.inl b/ace/Atomic_Op.inl index 81bf9d8a9f3..007f653bbfa 100644 --- a/ace/Atomic_Op.inl +++ b/ace/Atomic_Op.inl @@ -14,7 +14,7 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (void) } ACE_INLINE -ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (long c) +ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (const long &c) : value_ (c) { } @@ -159,7 +159,7 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (void) } ACE_INLINE -ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (unsigned long c) +ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (const unsigned long &c) : value_ (c) { } diff --git a/ace/Event_Handler.cpp b/ace/Event_Handler.cpp index 10a2a472ed7..de0a347bdc1 100644 --- a/ace/Event_Handler.cpp +++ b/ace/Event_Handler.cpp @@ -6,6 +6,8 @@ #include "ace/OS_Errno.h" #include "ace/Reactor.h" #include "ace/Thread_Manager.h" +/* Need to see if ACE_HAS_BUILTIN_ATOMIC_OP defined */ +#include "ace/Atomic_Op.h" #if !defined (__ACE_INLINE__) #include "ace/Event_Handler.inl" @@ -407,4 +409,16 @@ ACE_Notification_Buffer::ACE_Notification_Buffer (ACE_Event_Handler *eh, ACE_TRACE ("ACE_Notification_Buffer::ACE_Notification_Buffer"); } +// ACE_HAS_BUILTIN_ATOMIC_OP triggers specialization of these, so the +// instantiations aren't needed here. +#if !defined (ACE_HAS_BUILTIN_ATOMIC_OP) +# if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Atomic_Op<ACE_SYNCH_MUTEX, long>; +template class ACE_Atomic_Op_Ex<ACE_SYNCH_MUTEX, long>; +# elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +# pragma instantiate ACE_Atomic_Op<ACE_SYNCH_MUTEX, long> +# pragma instantiate ACE_Atomic_Op_Ex<ACE_SYNCH_MUTEX, long> +# endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ +#endif /* ACE_HAS_BUILTIN_ATOMIC_OP */ + ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ace/Malloc_Instantiations.cpp b/ace/Malloc_Instantiations.cpp index 87ad264e60f..5eea274f6bb 100644 --- a/ace/Malloc_Instantiations.cpp +++ b/ace/Malloc_Instantiations.cpp @@ -1,7 +1,10 @@ // $Id$ -#include "ace/Malloc.h" +#include "ace/Local_Memory_Pool.h" +#include "ace/Malloc_T.h" #include "ace/Null_Mutex.h" +#include "ace/Synch_Traits.h" +#include "ace/Thread_Mutex.h" ACE_BEGIN_VERSIONED_NAMESPACE_DECL |