aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/citra_qt/bootmanager.cpp
diff options
context:
space:
mode:
authorGravatar James Rowe <jroweboy@gmail.com>2015-05-16 11:56:00 -0600
committerGravatar James Rowe <jroweboy@gmail.com>2015-05-18 08:15:57 -0600
commita406207cd81c9fc3218f29394e11e7711817c458 (patch)
tree87bf96769c74b48468144e9ab238688ee9370434 /src/citra_qt/bootmanager.cpp
parent9fb9750411e57b621ac1c5d81306b694703d8842 (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.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
index d3df289f..ab940300 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; });
}
}