X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/78ee6a4750cc81d15182021a018d683cd05eb14f..7b162e540e98415f8ac6bc1fd5b880e143aa85e5:/include/wx/thread.h?ds=sidebyside diff --git a/include/wx/thread.h b/include/wx/thread.h index 543f16ceda..1e7d9f215e 100644 --- a/include/wx/thread.h +++ b/include/wx/thread.h @@ -23,7 +23,7 @@ #if wxUSE_THREADS // only for wxUSE_THREADS - otherwise we'd get undefined symbols -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "thread.h" #endif @@ -209,11 +209,11 @@ private: // 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 @@ -249,7 +249,11 @@ private: // 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; @@ -257,9 +261,7 @@ private: wxCritSectBuffer m_buffer; }; -#else - // nothing for OS/2 -#endif // Unix/Win32/OS2 +#endif // Unix&OS2/Win32 DECLARE_NO_COPY_CLASS(wxCriticalSection) }; @@ -734,7 +736,7 @@ public: #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