diff options
Diffstat (limited to 'lib/libc/sys/rfork.2')
-rw-r--r-- | lib/libc/sys/rfork.2 | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/lib/libc/sys/rfork.2 b/lib/libc/sys/rfork.2 deleted file mode 100644 index 5e57f1f..0000000 --- a/lib/libc/sys/rfork.2 +++ /dev/null @@ -1,137 +0,0 @@ -.\" -.\" This manual page is taken directly from Plan9, and modified to -.\" describe the actual BSD implementation. Permission for -.\" use of this page comes from Rob Pike <rob@plan9.att.com>. -.\" -.Dd Jan 12, 1996 -.Dt RFORK 2 -.Os -.Sh NAME -.Nm rfork -.Nd manipulate process resources -.Sh SYNOPSIS -.Fd #include <unistd.h> -.Ft int -.Fn rfork "int flags" -.Sh DESCRIPTION -Forking, vforking or rforking are the only ways new processes are created. -The -.Fa flags -argument to -.Fn rfork -selects which resources of the -invoking process (parent) are shared -by the new process (child) or initialized to -their default values. -The resources include -the open file descriptor table (which, when shared, permits processes -to open and close files for other processes), -and open files. -.Fa Flags -is the logical OR of some subset of: -.Bl -tag -width "RFCNAMEG" -compact -offset indent -.It RFPROC -If set a new process is created; otherwise changes affect the -current process. -The current implementation requires this flag to always be set. -.It RFNOWAIT -If set, the child process will be dissociated from the parent. Upon -exit the child will not leave a status for the parent to collect. -See -.Xr wait 2 . -.It RFFDG -If set, the invoker's file descriptor table (see -.Xr intro 2 -) is copied; otherwise the two processes share a -single table. -.It RFCFDG -If set, the new process starts with a clean file descriptor table. -Is mutually exclusive with -.Dv RFFDG . -.It RFMEM -If set, the kernel will force sharing of the entire address space. -The child -will then inherit all the shared segments the parent process owns. Other segment -types will be unaffected. Subsequent forks by the parent will then -propagate the shared data and bss between children. The stack segment -is always split. May be set only with -.Dv RFPROC . -.El -.Pp -File descriptors in a shared file descriptor table are kept -open until either they are explicitly closed -or all processes sharing the table exit. -.Pp -If -.Dv RFPROC -is set, the -value returned in the parent process -is the process id -of the child process; the value returned in the child is zero. -Without -.Dv RFPROC , -the return value is zero. -Process id's range from 1 to the maximum integer -.Ft ( int ) -value. -.Fn Rfork -will sleep, if necessary, until required process resources are available. -.Pp -.Fn Fork -can be implemented as a call to -.Fn rfork "RFFDG | RFPROC" -but isn't for backwards compatibility. -.Sh RETURN VALUES -Upon successful completion, -.Fn rfork -returns a value -of 0 to the child process and returns the process ID of the child -process to the parent process. Otherwise, a value of -1 is returned -to the parent process, no child process is created, and the global -variable -.Va errno -is set to indicate the error. -.Sh ERRORS -.Fn Rfork -will fail and no child process will be created if: -.Bl -tag -width [EAGAIN] -.It Bq Er EAGAIN -The system-imposed limit on the total -number of processes under execution would be exceeded. -The limit is given by the -.Xr sysctl 3 -MIB variable -.Dv KERN_MAXPROC . -(The limit is actually one less than this -except for the super user). -.It Bq Er EAGAIN -The user is not the super user, and -the system-imposed limit -on the total number of -processes under execution by a single user would be exceeded. -The limit is given by the -.Xr sysctl 3 -MIB variable -.Dv KERN_MAXPROCPERUID . -.It Bq Er EAGAIN -The user is not the super user, and -the soft resource limit corresponding to the resource parameter -.Dv RLIMIT_NOFILE -would be exceeded (see -.Xr getrlimit 2 ) . -.It Bq Er EINVAL -The RFPROC flag was not specified. -.It Bq Er EINVAL -Both the RFFDG and the RFCFDG flags were specified. -.It Bq Er ENOMEM -There is insufficient swap space for the new process. -.El -.Sh SEE ALSO -.Xr fork 2 , -.Xr intro 2 , -.Xr minherit 2 , -.Xr vfork 2 -.Sh HISTORY -The -.Fn rfork -function call first appeared in Plan9. |