Kernel: Take WorkQueue item as reference instead of pointer in do_queue

This commit is contained in:
Liav A 2022-03-09 21:26:08 +02:00 committed by Linus Groh
parent 1462211ccf
commit bf16061142
2 changed files with 5 additions and 5 deletions

View file

@ -47,10 +47,10 @@ UNMAP_AFTER_INIT WorkQueue::WorkQueue(StringView name)
m_thread = thread.release_nonnull();
}
void WorkQueue::do_queue(WorkItem* item)
void WorkQueue::do_queue(WorkItem& item)
{
m_items.with([&](auto& items) {
items.append(*item);
items.append(item);
});
m_wait_queue.wake_one();
}

View file

@ -34,7 +34,7 @@ public:
if (free_data)
free_data(data);
};
do_queue(item);
do_queue(*item);
return {};
}
@ -45,7 +45,7 @@ public:
if (!item)
return Error::from_errno(ENOMEM);
item->function = Function(function);
do_queue(item);
do_queue(*item);
return {};
}
@ -58,7 +58,7 @@ private:
Function<void()> function;
};
void do_queue(WorkItem*);
void do_queue(WorkItem&);
RefPtr<Thread> m_thread;
WaitQueue m_wait_queue;