diff options
Diffstat (limited to 'dev/ZKAKit/src/CodeMgr.cc')
| -rw-r--r-- | dev/ZKAKit/src/CodeMgr.cc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/dev/ZKAKit/src/CodeMgr.cc b/dev/ZKAKit/src/CodeMgr.cc index 08f4976d..5b5d471b 100644 --- a/dev/ZKAKit/src/CodeMgr.cc +++ b/dev/ZKAKit/src/CodeMgr.cc @@ -21,18 +21,19 @@ namespace Kernel if (!main) return No; - static UserProcess proc; + UserProcess* process_hdr = new UserProcess(); kcout << "Setting-up process data...\r"; - proc.Code = reinterpret_cast<VoidPtr>(main); - proc.Kind = UserProcess::kExectuableKind; - proc.StackSize = kib_cast(16); + process_hdr->Code = reinterpret_cast<VoidPtr>(main); + process_hdr->Kind = UserProcess::kExectuableKind; + process_hdr->StackSize = kib_cast(16); - rt_set_memory(proc.Name, 0, kProcessNameLen); - rt_copy_memory((VoidPtr)process_name, proc.Name, rt_string_len(process_name)); + rt_set_memory(process_hdr->Name, 0, kProcessNameLen); - ProcessID id = UserProcessScheduler::The().Add(&proc); + ProcessID id = UserProcessScheduler::The().Spawn(process_hdr); + + delete process_hdr; return id; } |
