diff options
author | Mateusz Guzik <mjg@FreeBSD.org> | 2016-02-04 04:22:18 +0000 |
---|---|---|
committer | Mateusz Guzik <mjg@FreeBSD.org> | 2016-02-04 04:22:18 +0000 |
commit | 33fd9b9a2bc277248b3dc153e1352e2b021d4fb1 (patch) | |
tree | 85458aa64b140adb018b8056f3f355fb4345dade /sys/compat/cloudabi | |
parent | 6c95c7903c346fed0511e5d625530f838820547c (diff) | |
download | src-33fd9b9a2bc277248b3dc153e1352e2b021d4fb1.tar.gz src-33fd9b9a2bc277248b3dc153e1352e2b021d4fb1.zip |
fork: pass arguments to fork1 in a dedicated structure
Suggested by: kib
Notes
Notes:
svn path=/head/; revision=295232
Diffstat (limited to 'sys/compat/cloudabi')
-rw-r--r-- | sys/compat/cloudabi/cloudabi_proc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/compat/cloudabi/cloudabi_proc.c b/sys/compat/cloudabi/cloudabi_proc.c index d91733760ceb..7320af01e7fc 100644 --- a/sys/compat/cloudabi/cloudabi_proc.c +++ b/sys/compat/cloudabi/cloudabi_proc.c @@ -75,12 +75,18 @@ int cloudabi_sys_proc_fork(struct thread *td, struct cloudabi_sys_proc_fork_args *uap) { + struct fork_req fr; struct filecaps fcaps = {}; struct proc *p2; int error, fd; cap_rights_init(&fcaps.fc_rights, CAP_FSTAT, CAP_EVENT); - error = fork1(td, RFFDG | RFPROC | RFPROCDESC, 0, &p2, &fd, 0, &fcaps); + bzero(&fr, sizeof(fr)); + fr.fr_flags = RFFDG | RFPROC | RFPROCDESC; + fr.fr_procp = &p2; + fr.fr_pd_fd = &fd; + fr.fr_pd_fcaps = &fcaps; + error = fork1(td, &fr); if (error != 0) return (error); /* Return the file descriptor to the parent process. */ |