Fix 100% cpu usage on osx bug
authorGavin Andresen <gavinandresen@gmail.com>
Wed, 9 May 2012 22:24:34 +0000 (18:24 -0400)
committerGavin Andresen <gavinandresen@gmail.com>
Wed, 9 May 2012 22:58:38 +0000 (18:58 -0400)
src/util.h

index 5f8d037..c3a0efe 100644 (file)
@@ -274,8 +274,9 @@ typedef CMutexLock<CWaitableCriticalSection> CWaitableCriticalBlock;
 typedef boost::interprocess::interprocess_condition CConditionVariable;
 
 /** Wait for a given condition inside a WAITABLE_CRITICAL_BLOCK */
+/** Sleep(1) is to workaround a 100% cpu-usage bug on OSX **/
 #define WAIT(name,condition) \
-   do { while(!(condition)) { (name).wait(waitablecriticalblock.GetLock()); } } while(0)
+    do { while(!(condition)) { (name).wait(waitablecriticalblock.GetLock()); Sleep(1);} } while(0)
 
 /** Notify waiting threads that a condition may hold now */
 #define NOTIFY(name) \