// in order to avoid any overhead under platforms where critical sections are
// just mutexes make all wxCriticalSection class functions inline
-#if !defined(__WXMSW__) && !defined(__WXPM__)
+#if !defined(__WXMSW__)
#define wxCRITSECT_IS_MUTEX 1
#define wxCRITSECT_INLINE inline
-#else // MSW || OS2
+#else // MSW
#define wxCRITSECT_IS_MUTEX 0
#define wxCRITSECT_INLINE
// finally, we need this typedef instead of declaring m_buffer directly
// because otherwise the assert mentioned above wouldn't compile with some
// compilers (notably CodeWarrior 8)
+#ifdef __WIN64__
+ typedef char wxCritSectBuffer[40];
+#else // __WIN32__
typedef char wxCritSectBuffer[24];
+#endif
union
{
unsigned long m_dummy1;
wxCritSectBuffer m_buffer;
};
-#else
- // nothing for OS/2
-#endif // Unix/Win32/OS2
+#endif // Unix&OS2/Win32
DECLARE_NO_COPY_CLASS(wxCriticalSection)
};
#if wxUSE_THREADS
-#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXPM__)
+#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXPM__) || defined(__EMX__)
// unlock GUI if there are threads waiting for and lock it back when
// there are no more of them - should be called periodically by the main
// thread