diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2024-10-29 07:11:56 +0100 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2024-10-29 07:11:56 +0100 |
| commit | c08af30448618c5d1950dc1fa0fb1685782e7b22 (patch) | |
| tree | bc12b43a94fe4d4ff60b0f7c17100a179d95d0dc /dev/ZKAKit/src/PEFCodeMgr.cc | |
| parent | 0511c53e648e5f253cd9e83c9e211aa6600db377 (diff) | |
FIX: Fix scheduler crash (1/2)
- UserProcessScheduler has been improved and cleaned up.
- Same goes for the HardwareThreadScheduler
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKAKit/src/PEFCodeMgr.cc')
| -rw-r--r-- | dev/ZKAKit/src/PEFCodeMgr.cc | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/dev/ZKAKit/src/PEFCodeMgr.cc b/dev/ZKAKit/src/PEFCodeMgr.cc index 45a5e46c..8c18dfe3 100644 --- a/dev/ZKAKit/src/PEFCodeMgr.cc +++ b/dev/ZKAKit/src/PEFCodeMgr.cc @@ -199,16 +199,43 @@ namespace Kernel return !fBad && fCachedBlob; } + const Char* PEFLoader::Path() + { + return fPath.Leak().CData(); + } + + const Char* PEFLoader::AsString() + { +#ifdef __32x0__ + return "32x0 PEF executable."; +#elif defined(__64x0__) + return "64x0 PEF executable."; +#elif defined(__x86_64__) + return "x86_64 PEF executable."; +#elif defined(__aarch64__) + return "aarch64 PEF executable."; +#elif defined(__powerpc64__) + return "POWER64 PEF executable."; +#else + return "???? PEF executable."; +#endif // __32x0__ || __64x0__ || __x86_64__ || __powerpc64__ + } + + const Char* PEFLoader::MIME() + { + return kPefApplicationMime; + } + namespace Utils { - SizeT execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept + ProcessID execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept { auto errOrStart = exec.FindStart(); if (errOrStart.Error() != kErrorSuccess) return No; - UserProcess proc; + UserProcess proc{}; proc.Image = errOrStart.Leak().Leak(); proc.Kind = procKind; @@ -229,31 +256,4 @@ namespace Kernel return UserProcessScheduler::The().Add(proc); } } // namespace Utils - - const Char* PEFLoader::Path() - { - return fPath.Leak().CData(); - } - - const Char* PEFLoader::AsString() - { -#ifdef __32x0__ - return "32x0 PEF executable."; -#elif defined(__64x0__) - return "64x0 PEF executable."; -#elif defined(__x86_64__) - return "x86_64 PEF executable."; -#elif defined(__aarch64__) - return "aarch64 PEF executable."; -#elif defined(__powerpc64__) - return "POWER64 PEF executable."; -#else - return "???? PEF executable."; -#endif // __32x0__ || __64x0__ || __x86_64__ || __powerpc64__ - } - - const Char* PEFLoader::MIME() - { - return kPefApplicationMime; - } } // namespace Kernel |
