summaryrefslogtreecommitdiffstats
path: root/lib/libc/sys/vfork.2
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1997-06-13 10:08:29 +0000
committerderaadt <deraadt@openbsd.org>1997-06-13 10:08:29 +0000
commit4e001e45dcbea2090fdf15c93a7ef3ed26cd9be0 (patch)
tree971e88d759677cf8cd4b769f2b9b158ba3c96a62 /lib/libc/sys/vfork.2
parentfix (diff)
downloadwireguard-openbsd-4e001e45dcbea2090fdf15c93a7ef3ed26cd9be0.tar.xz
wireguard-openbsd-4e001e45dcbea2090fdf15c93a7ef3ed26cd9be0.zip
fix lots of .Xr and other minor things
Diffstat (limited to 'lib/libc/sys/vfork.2')
-rw-r--r--lib/libc/sys/vfork.226
1 files changed, 14 insertions, 12 deletions
diff --git a/lib/libc/sys/vfork.2 b/lib/libc/sys/vfork.2
index 06e201dfcf2..55e184b2954 100644
--- a/lib/libc/sys/vfork.2
+++ b/lib/libc/sys/vfork.2
@@ -50,10 +50,10 @@ space of the old process, which is horrendously inefficient in a paged
environment. It is useful when the purpose of
.Xr fork 2
would have been to create a new system context for an
-.Xr execve .
+.Xr execve 2 .
.Fn Vfork
differs from
-.Xr fork
+.Xr fork 2
in that the child borrows the parent's memory and thread of
control until a call to
.Xr execve 2
@@ -68,7 +68,7 @@ the parent's context.
.Pp
.Fn Vfork
can normally be used just like
-.Xr fork .
+.Xr fork 2 .
It does not work, however, to return while running in the childs context
from the procedure that called
.Fn vfork
@@ -76,36 +76,38 @@ since the eventual return from
.Fn vfork
would then return to a no longer existent stack frame.
Be careful, also, to call
-.Xr _exit
+.Xr _exit 2
rather than
-.Xr exit
+.Xr exit 3
if you can't
-.Xr execve ,
+.Xr execve 2 ,
since
-.Xr exit
+.Xr exit 3
will flush and close standard I/O channels, and thereby mess up the
parent processes standard I/O data structures.
(Even with
-.Xr fork
+.Xr fork 2
it is wrong to call
-.Xr exit
+.Xr exit 3
since buffered data would then be flushed twice.)
.Sh SEE ALSO
+.Xr _exit 2 ,
+.Xr exit 3 ,
.Xr fork 2 ,
.Xr execve 2 ,
.Xr sigaction 2 ,
.Xr wait 2 ,
.Sh DIAGNOSTICS
Same as for
-.Xr fork .
+.Xr fork 2 .
.Sh BUGS
This system call will be eliminated when proper system sharing
mechanisms are implemented.
Users should not depend on the memory
sharing semantics of
-.Xr vfork
+.Xr vfork 2
as it will, in that case, be made synonymous to
-.Xr fork .
+.Xr fork 2 .
.Pp
To avoid a possible deadlock situation,
processes that are children in the middle