summaryrefslogtreecommitdiffstats
path: root/src/concurrent/qtconcurrentthreadengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/concurrent/qtconcurrentthreadengine.cpp')
-rw-r--r--src/concurrent/qtconcurrentthreadengine.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/concurrent/qtconcurrentthreadengine.cpp b/src/concurrent/qtconcurrentthreadengine.cpp
index 5c120d676e..ce02d0c2c9 100644
--- a/src/concurrent/qtconcurrentthreadengine.cpp
+++ b/src/concurrent/qtconcurrentthreadengine.cpp
@@ -3,7 +3,7 @@
#include "qtconcurrentthreadengine.h"
-#if !defined(QT_NO_CONCURRENT) || defined(Q_CLANG_QDOC)
+#if !defined(QT_NO_CONCURRENT) || defined(Q_QDOC)
QT_BEGIN_NAMESPACE
@@ -63,6 +63,7 @@ void ThreadEngineBarrier::acquire()
if (count.testAndSetOrdered(localCount, localCount + 1))
return;
}
+ qYieldCpu();
}
}
@@ -82,6 +83,7 @@ int ThreadEngineBarrier::release()
if (count.testAndSetOrdered(localCount, localCount - 1))
return localCount - 1;
}
+ qYieldCpu();
}
}
@@ -98,6 +100,7 @@ void ThreadEngineBarrier::wait()
semaphore.acquire();
return;
}
+ qYieldCpu();
}
}
@@ -121,6 +124,7 @@ bool ThreadEngineBarrier::releaseUnlessLast()
if (count.testAndSetOrdered(localCount, localCount - 1))
return true;
}
+ qYieldCpu();
}
}