diff options
author | James Rowe <jroweboy@gmail.com> | 2015-05-16 11:56:00 -0600 |
---|---|---|
committer | James Rowe <jroweboy@gmail.com> | 2015-05-18 08:15:57 -0600 |
commit | a406207cd81c9fc3218f29394e11e7711817c458 (patch) | |
tree | 87bf96769c74b48468144e9ab238688ee9370434 /src/citra_qt/bootmanager.cpp | |
parent | 9fb9750411e57b621ac1c5d81306b694703d8842 (diff) |
Use condition var to properly pause the CPU thread
Adds support for threaded pausing so citra doesn't spin wait on pause
Diffstat (limited to 'src/citra_qt/bootmanager.cpp')
-rw-r--r-- | src/citra_qt/bootmanager.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index d3df289f8b..ab9403007e 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -59,6 +59,9 @@ void EmuThread::run() { yieldCurrentThread(); was_active = false; + } else { + std::unique_lock<std::mutex> lock(running_mutex); + running_cv.wait(lock, [this]{ return IsRunning() || stop_run; }); } } |