diff options
author | RJ Ryan <rryan@mixxx.org> | 2014-01-21 10:00:42 -0800 |
---|---|---|
committer | RJ Ryan <rryan@mixxx.org> | 2014-01-21 10:00:42 -0800 |
commit | adafc74401a9acb38b272f1a3e34768e76022af5 (patch) | |
tree | 1714d14d58130bcba8864a344ce29e8d4e7d19cc /src/engine/engineworkerscheduler.h | |
parent | a37d273fd8f8c51aa1b03deffbbca7dcb8adfa79 (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.h | 8 |
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; |