mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-28 15:34:31 +00:00
Update Linux fork and execve functions
This commit is contained in:
parent
321305e795
commit
235f42b8d8
@ -715,6 +715,8 @@ static pid_t linux_fork(SysFrm *sf)
|
||||
NewProcess->vma->Fork(Parent->vma);
|
||||
NewProcess->ProgramBreak->SetTable(NewProcess->PageTable);
|
||||
NewProcess->FileDescriptors->Fork(Parent->FileDescriptors);
|
||||
NewProcess->Executable = Parent->Executable;
|
||||
NewProcess->CurrentWorkingDirectory = Parent->CurrentWorkingDirectory;
|
||||
|
||||
TCB *NewThread =
|
||||
TaskManager->CreateThread(NewProcess,
|
||||
@ -965,6 +967,13 @@ __no_sanitize("undefined") static int linux_execve(SysFrm *sf, const char *pathn
|
||||
return ret;
|
||||
}
|
||||
|
||||
const char *baseName;
|
||||
cwk_path_get_basename(pPathname, &baseName, nullptr);
|
||||
|
||||
pcb->Rename(baseName);
|
||||
pcb->SetWorkingDirectory(File->node->Parent);
|
||||
pcb->SetExe(pPathname);
|
||||
|
||||
delete File;
|
||||
Tasking::Task *ctx = pcb->GetContext();
|
||||
// ctx->Sleep(1000);
|
||||
|
Loading…
x
Reference in New Issue
Block a user