diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-12-07 18:07:22 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-12-07 18:07:22 +0100 |
| commit | 4c7ea58f5d5e495e8da6cfc7e1d52a3dfcf5a893 (patch) | |
| tree | 40c91fce5ac9e622e49515608033f8c98af5a8f1 /dev/ZKAKit/src/PEFCodeMgr.cc | |
| parent | 63be0a396d95db7b629ffe64dcc543e251936b36 (diff) | |
IMPL: New I/O functions from assembly, still working on #8 issue.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKAKit/src/PEFCodeMgr.cc')
| -rw-r--r-- | dev/ZKAKit/src/PEFCodeMgr.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/dev/ZKAKit/src/PEFCodeMgr.cc b/dev/ZKAKit/src/PEFCodeMgr.cc index 43efa00a..c601abc9 100644 --- a/dev/ZKAKit/src/PEFCodeMgr.cc +++ b/dev/ZKAKit/src/PEFCodeMgr.cc @@ -255,12 +255,12 @@ namespace Kernel UserProcess* proc = new UserProcess(); - proc->Kind = procKind; + proc->Kind = procKind; proc->Image.fCode = errOrStart.Leak().Leak(); proc->Image.fBlob = exec.GetBlob().Leak().Leak(); - proc->StackSize = *(UIntPtr*)exec.FindSymbol(kPefStackSizeSymbol, kPefData); + proc->StackSize = *(UIntPtr*)exec.FindSymbol(kPefStackSizeSymbol, kPefData); proc->MemoryLimit = *(UIntPtr*)exec.FindSymbol(kPefHeapSizeSymbol, kPefData); - proc->PTime = 0UL; + proc->PTime = 0UL; rt_set_memory(proc->Name, 0, kProcessNameLen); @@ -273,7 +273,12 @@ namespace Kernel proc->StackSize = mib_cast(kDefaultStackSizeMib); } - return UserProcessScheduler::The().Spawn(proc); + auto id = UserProcessScheduler::The().Spawn(proc); + + if (id == kProcessInvalidID) + delete proc; + + return id; } } // namespace Utils } // namespace Kernel |
