]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/thread.h
OnEnter/OnDragOver API update (compiles, links, somewhat runs under wxGTK)
[wxWidgets.git] / include / wx / thread.h
index 7e0dc5997fa3449608a9802fdb468f719bd25135..c47aca344955d9bd717e52dad4c1e72afaa4e62b 100644 (file)
@@ -350,14 +350,26 @@ private:
 void WXDLLEXPORT wxMutexGuiEnter();
 void WXDLLEXPORT wxMutexGuiLeave();
 
 void WXDLLEXPORT wxMutexGuiEnter();
 void WXDLLEXPORT 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)   (cs)->Enter()
+#define wxLEAVE_CRIT_SECT(cs)   (cs)->Leave()
+#define wxCRIT_SECT_LOCKER(name, cs)  wxCriticalSectionLocker name(*cs)
+
 #else // !wxUSE_THREADS
 
 #else // !wxUSE_THREADS
 
-#include <wx/defs.h> // for WXDLLEXPORT
+#include "wx/defs.h" // for WXDLLEXPORT
 
 // no thread support
 inline void WXDLLEXPORT wxMutexGuiEnter() { }
 inline void WXDLLEXPORT wxMutexGuiLeave() { }
 
 
 // no thread support
 inline void WXDLLEXPORT wxMutexGuiEnter() { }
 inline void WXDLLEXPORT 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_LOCKER(name, cs)
+
 #endif // wxUSE_THREADS
 
 // automatically unlock GUI mutex in dtor
 #endif // wxUSE_THREADS
 
 // automatically unlock GUI mutex in dtor