From 60e16faf91ab2f4925efb300156736fcdf645fef Mon Sep 17 00:00:00 2001 From: Artur Grabowski Date: Mon, 7 Feb 2000 04:38:39 +0000 Subject: Update to reflect recent changes to the interface. --- share/man/man9/fork1.9 | 79 ++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 44 deletions(-) (limited to 'share/man/man9') diff --git a/share/man/man9/fork1.9 b/share/man/man9/fork1.9 index f0a22c2e6bb..f860967e48b 100644 --- a/share/man/man9/fork1.9 +++ b/share/man/man9/fork1.9 @@ -1,4 +1,4 @@ -.\" $OpenBSD: fork1.9,v 1.2 1999/09/05 16:23:11 espie Exp $ +.\" $OpenBSD: fork1.9,v 1.3 2000/02/07 04:38:38 art Exp $ .\" $NetBSD: fork1.9,v 1.3 1999/03/16 00:40:47 garbled Exp $ .\" .\" Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -46,7 +46,7 @@ .Fd #include .Fd #include .Ft int -.Fn "fork1" "struct proc *p1" "int forktype" "int rforkflags" "void *stack" "size_t stacksize" "register_t *retval" +.Fn "fork1" "struct proc *p1" "int flags" "void *stack" "size_t stacksize" "register_t *retval" .Sh DESCRIPTION .Fn fork1 creates a new process out of @@ -60,52 +60,43 @@ system calls, as well as the .Xr create_kthread 9 function. .Pp -The -.Fa forktype -argument can be -.Dv ISFORK , -.Dv ISVFORK -or -.Dv ISRFORK -and controls whether -.Nm -has -.Xr fork 2 , +The +.Ar flags +argument is used to control the behavior of the fork and is created by +a bitwise-OR of the following values: +.Bl -tag -width FORK_SHAREFILES +.It Dv FORK_FORK +The call is done by the +.Xr fork 2 +system call. Used only for statistics. +.It Dv FORK_VFORK +The call is done by the .Xr vfork 2 -or +system call. Used only for statistics. +.It Dv FORK_RFORK +The call is done by the .Xr rfork 2 -semantics. -.Pp -The -.Ar rforkflags -argument is only used if -.Fa forktype -equals -.Dv ISRFORK , -and is used to implement -.Xr rfork 2 -semantics. -.Bl -tag -width RFNOWAIT -.It Dv RFPROC -Should always be set. The system currently does not support changing an -existing process characteristics. -.It Dv RFNOWAIT -See -.Xr rfork 2 . -.It Dv RFFDG -If set, the child gets a copy of the parent's file descriptor table -through -.Xr fdcopy 9 . -Otherwise, the file descriptor table is shared through +system call. Used only for statistics. +.It Dv FORK_PPWAIT +Suspend the parent process until the child is terminated (by calling +.Xr _exit 2 +or abnormally), or makes a call to +.Xr execve 2 . +.It Dv FORK_SHAREFILES +Let the child share the file descriptor table with the parent through .Xr fdshare 9 . -.It Dv RFCFDG -If set, the child starts out with a clean file descriptor table created -by +The default behavior is to copy the table through +.Xr fdcopy 9 . +.It Dv FORK_CLEANFILES +The child starts with a clean file descriptor table created by .Xr fdinit 9 . -.It Dv RFMEM -If set, the child will share the parent's address space, apart from the -stack segment, which is always copied. Otherwise, the child will get a -copy-on-write snapshot of the parent address space. +.It Dv FORK_NOZOMBIE +The child will be dissociated from the parent and will not leave a status +for the parent to collect. See +.Xr wait 2 . +.It Dv FORK_SHAREVM +The child will share the parent's address space. The default behavior is +that the child gets a copy-on-write copy of the address space. .El .Pp If -- cgit v1.2.3