diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-11-07 16:30:10 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-11-07 16:30:10 +0100 |
| commit | 516efdab62108ff03af7f1d91e6dcba02f6aad47 (patch) | |
| tree | 5301fd170496f7562d0872c950cda0ec9d1f5db0 /dev/ZKAKit/src/UserProcessScheduler.cc | |
| parent | 3bb0b718b3fde156b6f30b7f05fa34a4937befaf (diff) | |
Kernel: lots of fixes and improvements.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKAKit/src/UserProcessScheduler.cc')
| -rw-r--r-- | dev/ZKAKit/src/UserProcessScheduler.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/dev/ZKAKit/src/UserProcessScheduler.cc b/dev/ZKAKit/src/UserProcessScheduler.cc index 4550af4e..e5bcd1c2 100644 --- a/dev/ZKAKit/src/UserProcessScheduler.cc +++ b/dev/ZKAKit/src/UserProcessScheduler.cc @@ -325,6 +325,12 @@ namespace Kernel ProcessID UserProcessScheduler::Add(UserProcess* process) { + if (*process->Name == 0) + { + Char process_name[] = "System Process"; + rt_copy_memory((VoidPtr)process_name, process->Name, rt_string_len(process_name)); + } + #ifdef __ZKA_AMD64__ process->VMRegister = mm_new_heap(sizeof(PDE), No, Yes); @@ -353,7 +359,7 @@ namespace Kernel process->PefDLLDelegate = rtl_init_dll(process); MUST_PASS(process->PefDLLDelegate); - kcout << "Create delegate dylib for: " << process->Name << endl; + kcout << "Create DLL Delegate for: " << process->Name << endl; } process->StackReserve = new UInt8[process->StackSize]; @@ -370,7 +376,7 @@ namespace Kernel return -kErrorProcessFault; } - kcout << "Created stack reserve for: " << process->Name << endl; + kcout << "Create stack reserve for: " << process->Name << endl; auto pid = kProcessIDCounter; @@ -575,8 +581,8 @@ namespace Kernel //////////////////////////////////////////////////////////// auto prev_ptime = HardwareThreadScheduler::The()[index].Leak()->fPTime; - HardwareThreadScheduler::The()[index].Leak()->fPTime = UserProcessScheduler::The().CurrentTeam().AsArray()[new_pid].ProcessId; - Bool ret = HardwareThreadScheduler::The()[index].Leak()->Switch(image_ptr, stack, frame_ptr); + HardwareThreadScheduler::The()[index].Leak()->fPTime = UserProcessScheduler::The().CurrentTeam().AsArray()[new_pid].PTime; + Bool ret = HardwareThreadScheduler::The()[index].Leak()->Switch(image_ptr, stack, frame_ptr, new_pid); //////////////////////////////////////////////////////////// /// Rollback on fail. /// |
