summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Fifo.cpp
diff options
context:
space:
mode:
authorShawn Hoffman <godisgovernment@gmail.com>2017-06-22 05:42:14 -0700
committerShawn Hoffman <godisgovernment@gmail.com>2017-06-25 20:47:30 -0700
commited8f293b4f4c340dc342e54532fcdd953056efab (patch)
tree9fc62b2a22ab8623000f58def58fc78608e2703f /Source/Core/VideoCommon/Fifo.cpp
parent88b442e1a85e1c477072a7e9302eafcbd866fbb8 (diff)
Change "blocking" BlockingLoop::Stop to give up and die after a timeout.
This fixes the global-static fifo object causing infinite hangs in some cases. Notably, failure to initialize a graphics backend would result in BlockingLoop::Prepare being called but never executing Run(), leaving the object in a bad state.
Diffstat (limited to 'Source/Core/VideoCommon/Fifo.cpp')
-rw-r--r--Source/Core/VideoCommon/Fifo.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp
index cedbea5432..15a1853ee7 100644
--- a/Source/Core/VideoCommon/Fifo.cpp
+++ b/Source/Core/VideoCommon/Fifo.cpp
@@ -144,7 +144,7 @@ void ExitGpuLoop()
// Terminate GPU thread loop
s_emu_running_state.Set();
- s_gpu_mainloop.Stop(false);
+ s_gpu_mainloop.Stop(s_gpu_mainloop.kNonBlock);
}
void EmulatorState(bool running)