mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-20 01:37:39 +03: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
Notes:
sideshowbarker
2024-07-17 20:16:24 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/d1cea572461
@ -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…
Reference in New Issue
Block a user