Make subprocess inherit parent's pipe handles
This commit is contained in:
@ -9,6 +9,7 @@
|
||||
#include "path/path.h"
|
||||
#include "kprintf.h"
|
||||
#include "dlmalloc/malloc.h"
|
||||
#include "ipc/pipe/pipe.h"
|
||||
|
||||
#define PCTL_MP_MAX 0xff
|
||||
#define PCTL_PATH_MAX VFS_PATH_MAX
|
||||
@ -66,6 +67,14 @@ int32_t SYSCALL5(sys_processctl, pid1, cmd1, arg1, arg2, arg3) {
|
||||
PROC_ARG(newproc, (*args)[i]);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < PROC_PIPEHANDLES_MAX; i++) {
|
||||
if (newproc->pipes[i] != NULL) {
|
||||
ipc_pipefree(newproc->pipes[i]);
|
||||
dlfree(newproc->pipes[i]);
|
||||
}
|
||||
newproc->pipes[i] = proc->pipes[i];
|
||||
}
|
||||
|
||||
proc_register(newproc);
|
||||
ret = newproc->pid;
|
||||
} break;
|
||||
|
Reference in New Issue
Block a user