1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:17:34 +00:00

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(); m_thread = thread.release_nonnull();
} }
void WorkQueue::do_queue(WorkItem* item) void WorkQueue::do_queue(WorkItem& item)
{ {
m_items.with([&](auto& items) { m_items.with([&](auto& items) {
items.append(*item); items.append(item);
}); });
m_wait_queue.wake_one(); m_wait_queue.wake_one();
} }

View file

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