summaryrefslogtreecommitdiff
path: root/ace/OS_Errno.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/OS_Errno.h')
-rw-r--r--ace/OS_Errno.h9
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 */