]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/thread.h
Fix a very annoying autorelease pool memory leak.
[wxWidgets.git] / include / wx / thread.h
index 796a7dd188c3b385a0249528d2f53204e2dd9e8f..6806d82feafab53f6304c11f28993470bed7bff4 100644 (file)
@@ -344,6 +344,19 @@ public:
     // the lock on the associated mutex object, before returning.
     wxCondError Wait();
 
+    // std::condition_variable-like variant that evaluates the associated condition
+    template<typename Functor>
+    wxCondError Wait(const Functor& predicate)
+    {
+        while ( !predicate() )
+        {
+            wxCondError e = Wait();
+            if ( e != wxCOND_NO_ERROR )
+                return e;
+        }
+        return wxCOND_NO_ERROR;
+    }
+
     // exactly as Wait() except that it may also return if the specified
     // timeout elapses even if the condition hasn't been signalled: in this
     // case, the return value is wxCOND_TIMEOUT, otherwise (i.e. in case of a
@@ -601,6 +614,8 @@ protected:
     // of this thread.
     virtual void *Entry() = 0;
 
+    // use this to call the Entry() virtual method
+    void *CallEntry();
 
     // Callbacks which may be overridden by the derived class to perform some
     // specific actions when the thread is deleted or killed. By default they