mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 09:24:57 +00:00
LibThreading: Invoke BackgroundAction completions on origin event loop
We now capture the origin thread's current event loop when setting up a BackgroundAction and then invoke the on_complete callback on that same event loop.
This commit is contained in:
parent
3bab93c5e7
commit
d1cea57246
1 changed files with 2 additions and 2 deletions
|
@ -56,10 +56,10 @@ private:
|
|||
, m_action(move(action))
|
||||
, m_on_complete(move(on_complete))
|
||||
{
|
||||
enqueue_work([this] {
|
||||
enqueue_work([this, origin_event_loop = &Core::EventLoop::current()] {
|
||||
m_result = m_action(*this);
|
||||
if (m_on_complete) {
|
||||
deferred_invoke([this] {
|
||||
origin_event_loop->deferred_invoke([this] {
|
||||
m_on_complete(m_result.release_value());
|
||||
remove_from_parent();
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue