Fix 100% cpu usage on osx bug
[novacoin.git] / 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) \