diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-23 09:11:33 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-23 09:21:50 +0200 |
| commit | 8c500f29bd0ef17f5b59e5be49f4cae88d827d85 (patch) | |
| tree | adce743ad0a20fde024cf7024b1813357b69f5e5 /dev/kernel/KernelKit/ProcessSchedulerCore.h | |
| parent | bb1d9fa4b7b2c680ed3c0ca16c060dd991bda16f (diff) | |
dev, kernel: scheduler and disk swap refactors.
Details:
- Reworked SCSI groundwork to prepare for a Generic SCSI driver.
- Refatored scheduler's code with the new coding style for
structs.
- Add Leak and LeakBlob inside PROCESS_IMAGE struct.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/KernelKit/ProcessSchedulerCore.h')
| -rw-r--r-- | dev/kernel/KernelKit/ProcessSchedulerCore.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/dev/kernel/KernelKit/ProcessSchedulerCore.h b/dev/kernel/KernelKit/ProcessSchedulerCore.h index 002e685e..ee90ed8b 100644 --- a/dev/kernel/KernelKit/ProcessSchedulerCore.h +++ b/dev/kernel/KernelKit/ProcessSchedulerCore.h @@ -7,11 +7,12 @@ #pragma once #include <NewKit/Defines.h> +#include <NewKit/ErrorOr.h> namespace Kernel { - class UserProcess; - class KernelProcess; + class USER_PROCESS; + class KERNEL_PROCESS; class UserProcessTeam; /***********************************************************************************/ @@ -117,9 +118,9 @@ namespace Kernel /***********************************************************************************/ using ImagePtr = VoidPtr; - struct ProcessImage final + struct PROCESS_IMAGE final { - explicit ProcessImage() = default; + explicit PROCESS_IMAGE() = default; ImagePtr fCode; ImagePtr fBlob; @@ -133,5 +134,25 @@ namespace Kernel { return this->fBlob != nullptr; } + + ErrorOr<ImagePtr> Leak() + { + if (this->fCode) + { + return ErrorOr<ImagePtr>{this->fCode}; + } + + return ErrorOr<ImagePtr>{nullptr}; + } + + ErrorOr<ImagePtr> LeakBlob() + { + if (this->fBlob) + { + return ErrorOr<ImagePtr>{this->fBlob}; + } + + return ErrorOr<ImagePtr>{nullptr}; + } }; } // namespace Kernel |
