summaryrefslogtreecommitdiffstats
path: root/src/engine/engineworkerscheduler.h
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2014-01-21 10:00:42 -0800
committerRJ Ryan <rryan@mixxx.org>2014-01-21 10:00:42 -0800
commitadafc74401a9acb38b272f1a3e34768e76022af5 (patch)
tree1714d14d58130bcba8864a344ce29e8d4e7d19cc /src/engine/engineworkerscheduler.h
parenta37d273fd8f8c51aa1b03deffbbca7dcb8adfa79 (diff)
Only wake up EngineWorkerScheduler if there are worker threads to be started.
Diffstat (limited to 'src/engine/engineworkerscheduler.h')
-rw-r--r--src/engine/engineworkerscheduler.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/engine/engineworkerscheduler.h b/src/engine/engineworkerscheduler.h
index 385e2610c5..db8ed6e938 100644
--- a/src/engine/engineworkerscheduler.h
+++ b/src/engine/engineworkerscheduler.h
@@ -11,10 +11,6 @@
// The max engine workers that can be expected to run within a callback
// (e.g. the max that we will schedule). Must be a power of 2.
#define MAX_ENGINE_WORKERS 32
-// The max number of threads that EngineWorkers will be scheduled on. TODO(XXX)
-// this should be dynamically chosen by the user, since it will vary depending
-// on the machine resources available.
-#define ENGINE_WORKER_THREAD_COUNT 4
class EngineWorker;
@@ -31,6 +27,10 @@ class EngineWorkerScheduler : public QThread {
void run();
private:
+ // Indicates whether workerReady has been called since the last time
+ // runWorkers was run. This should only be touched from the engine callback.
+ bool m_bWakeScheduler;
+
FIFO<EngineWorker*> m_scheduleFIFO;
QWaitCondition m_waitCondition;
QMutex m_mutex;