summaryrefslogtreecommitdiff
path: root/ace/OS_Errno.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/OS_Errno.cpp')
-rw-r--r--ace/OS_Errno.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/ace/OS_Errno.cpp b/ace/OS_Errno.cpp
index 59c6790b529..7e1d6f93cc0 100644
--- a/ace/OS_Errno.cpp
+++ b/ace/OS_Errno.cpp
@@ -5,7 +5,14 @@
ACE_RCSID(ace, OS_Errno, "$Id$")
-#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 */
+# define ACE_INLINE
# include "ace/OS_Errno.inl"
#endif /* ACE_HAS_INLINED_OS_CALLS */