1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:27:35 +00:00

Kernel: Add simplistic work queues

We can't use deferred functions for anything that may require preemption,
such as copying from/to user or accessing the disk. For those purposes
we should use a work queue, which is essentially a kernel thread that
may be preempted or blocked.
This commit is contained in:
Tom 2021-02-05 23:36:38 -07:00 committed by Andreas Kling
parent 314f04b896
commit 20cccda731
7 changed files with 182 additions and 1 deletions

View file

@ -37,6 +37,8 @@ namespace Kernel {
class Device;
extern WorkQueue* g_io_work;
class AsyncDeviceRequest : public RefCounted<AsyncDeviceRequest> {
AK_MAKE_NONCOPYABLE(AsyncDeviceRequest);
AK_MAKE_NONMOVABLE(AsyncDeviceRequest);