summaryrefslogtreecommitdiff
path: root/src/init/fs
diff options
context:
space:
mode:
authordzwdz2022-05-02 19:25:02 +0200
committerdzwdz2022-05-02 19:25:02 +0200
commit577ed9e01a83c13bf151b5137e6fe1eace1c4f7c (patch)
tree750dd8a3536ce70d817e6920c89042ee94899a29 /src/init/fs
parentd9dc6a0c4c5047c3789a16ef623eeff7c240f5a9 (diff)
syscalls: fork() noreap flag
Diffstat (limited to 'src/init/fs')
-rw-r--r--src/init/fs/misc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/init/fs/misc.c b/src/init/fs/misc.c
index b962b64..ca3128d 100644
--- a/src/init/fs/misc.c
+++ b/src/init/fs/misc.c
@@ -53,7 +53,7 @@ static void fs_respond_delegate(struct fs_wait_response *res, handle_t delegate,
switch (res->op) {
case VFSOP_READ:
- if (_syscall_fork()) {
+ if (_syscall_fork(FORK_NOREAP)) {
// handle reads in a child
// this is a HORRIBLE workaround for making concurrent IO work without proper delegates
break;
@@ -62,7 +62,7 @@ static void fs_respond_delegate(struct fs_wait_response *res, handle_t delegate,
size = res->capacity < sizeof(buf) ? res->capacity : sizeof(buf);
ret = _syscall_read(delegate, buf, size, res->offset);
_syscall_fs_respond(buf, ret);
- _syscall_exit(0); // TODO unreapable - add a nonblocking reap syscall
+ _syscall_exit(0);
break;
// TODO proper writing (see above)