diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-12-07 16:26:46 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-12-07 16:26:46 +0100 |
| commit | 63be0a396d95db7b629ffe64dcc543e251936b36 (patch) | |
| tree | 41f7be6516dcb67ab8ff922ebcfad3db39f03549 /dev/ZKAKit/src/PEFCodeMgr.cc | |
| parent | 16872513febbbdee48e493eb92d95fc39ec80484 (diff) | |
WIP: #8
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 | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/dev/ZKAKit/src/PEFCodeMgr.cc b/dev/ZKAKit/src/PEFCodeMgr.cc index 5bdef56d..43efa00a 100644 --- a/dev/ZKAKit/src/PEFCodeMgr.cc +++ b/dev/ZKAKit/src/PEFCodeMgr.cc @@ -253,27 +253,27 @@ namespace Kernel if (errOrStart.Error() != kErrorSuccess) return kProcessInvalidID; - STATIC UserProcess proc; + UserProcess* proc = new UserProcess(); - proc.Kind = procKind; - proc.Image.fCode = errOrStart.Leak().Leak(); - proc.Image.fBlob = exec.GetBlob().Leak().Leak(); - proc.StackSize = *(UIntPtr*)exec.FindSymbol(kPefStackSizeSymbol, kPefData); - proc.MemoryLimit = *(UIntPtr*)exec.FindSymbol(kPefHeapSizeSymbol, kPefData); - proc.PTime = 0UL; + proc->Kind = procKind; + proc->Image.fCode = errOrStart.Leak().Leak(); + proc->Image.fBlob = exec.GetBlob().Leak().Leak(); + proc->StackSize = *(UIntPtr*)exec.FindSymbol(kPefStackSizeSymbol, kPefData); + proc->MemoryLimit = *(UIntPtr*)exec.FindSymbol(kPefHeapSizeSymbol, kPefData); + proc->PTime = 0UL; - rt_set_memory(proc.Name, 0, kProcessNameLen); + rt_set_memory(proc->Name, 0, kProcessNameLen); if (exec.FindSymbol(kPefNameSymbol, kPefData)) - rt_copy_memory(exec.FindSymbol(kPefNameSymbol, kPefData), proc.Name, rt_string_len((Char*)exec.FindSymbol(kPefNameSymbol, kPefData))); + rt_copy_memory(exec.FindSymbol(kPefNameSymbol, kPefData), proc->Name, rt_string_len((Char*)exec.FindSymbol(kPefNameSymbol, kPefData))); - if (!proc.StackSize) + if (!proc->StackSize) { const auto kDefaultStackSizeMib = 8; - proc.StackSize = mib_cast(kDefaultStackSizeMib); + proc->StackSize = mib_cast(kDefaultStackSizeMib); } - return UserProcessScheduler::The().Spawn(&proc); + return UserProcessScheduler::The().Spawn(proc); } } // namespace Utils } // namespace Kernel |
