diff options
Diffstat (limited to 'ace/OS_Errno.h')
-rw-r--r-- | ace/OS_Errno.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ace/OS_Errno.h b/ace/OS_Errno.h index 7318147ae37..82446047842 100644 --- a/ace/OS_Errno.h +++ b/ace/OS_Errno.h @@ -71,13 +71,20 @@ public: bool operator!= (int error); private: + // Prevent copying + ACE_Errno_Guard (const ACE_Errno_Guard &); + ACE_Errno_Guard &operator= (const ACE_Errno_Guard &); + #if defined (ACE_MT_SAFE) ACE_ERRNO_TYPE *errno_ptr_; #endif /* ACE_MT_SAFE */ int error_; }; -#if defined (ACE_HAS_INLINED_OSCALLS) +// Inlining this class on debug builds with gcc on Solaris can cause +// deadlocks during static initialization. +#if defined (ACE_HAS_INLINED_OSCALLS) && \ + (!defined (__GNUG__) || !defined (__sun__) || defined (ACE_NDEBUG)) # if defined (ACE_INLINE) # undef ACE_INLINE # endif /* ACE_INLINE */ |