Commit 3fd9a86f authored by Max Kellermann's avatar Max Kellermann

event/Call: invoke function directly if the EventLoop is dead

Works around a deadlock bug which happens when waiting for an EventLoop which isn't running anymore.
parent ce68701c
...@@ -81,7 +81,7 @@ private: ...@@ -81,7 +81,7 @@ private:
void void
BlockingCall(EventLoop &loop, std::function<void()> &&f) BlockingCall(EventLoop &loop, std::function<void()> &&f)
{ {
if (loop.IsInside()) { if (loop.IsDead() || loop.IsInside()) {
/* we're already inside the loop - we can simply call /* we're already inside the loop - we can simply call
the function */ the function */
f(); f();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment