X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c4b64a941e03ea4c2c88233b750a5054552698c3..f416695a1bf8ac887e2b6223f8ad72954dc2dc03:/include/wx/thread.h diff --git a/include/wx/thread.h b/include/wx/thread.h index dcc5ed8b43..3c3493c3be 100644 --- a/include/wx/thread.h +++ b/include/wx/thread.h @@ -22,11 +22,6 @@ #if wxUSE_THREADS -// Windows headers define it -#ifdef Yield - #undef Yield -#endif - // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- @@ -452,7 +447,7 @@ public: // Sleep during the specified period of time in milliseconds // - // NB: at least under MSW worker threads can not call ::wxSleep()! + // This is the same as wxMilliSleep(). static void Sleep(unsigned long milliseconds); // get the number of system CPUs - useful with SetConcurrency() @@ -732,11 +727,12 @@ inline void wxMutexGuiLeave() { } // macros for entering/leaving critical sections which may be used without // having to take them inside "#if wxUSE_THREADS" -#define wxENTER_CRIT_SECT(cs) -#define wxLEAVE_CRIT_SECT(cs) -#define wxCRIT_SECT_DECLARE(cs) -#define wxCRIT_SECT_DECLARE_MEMBER(cs) -#define wxCRIT_SECT_LOCKER(name, cs) +// (the implementation uses dummy structs to force semicolon after the macro) +#define wxENTER_CRIT_SECT(cs) do {} while (0) +#define wxLEAVE_CRIT_SECT(cs) do {} while (0) +#define wxCRIT_SECT_DECLARE(cs) struct wxDummyCS##cs +#define wxCRIT_SECT_DECLARE_MEMBER(cs) struct wxDummyCSMember##cs +#define wxCRIT_SECT_LOCKER(name, cs) struct wxDummyCSLocker##name // if there is only one thread, it is always the main one inline bool wxIsMainThread() { return true; }