summaryrefslogtreecommitdiffstats
path: root/lib/libc/sys/rfork.2
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/sys/rfork.2')
-rw-r--r--lib/libc/sys/rfork.2137
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.
OpenPOWER on IntegriCloud