summaryrefslogtreecommitdiff
path: root/lib/libc
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2001-08-27 08:26:57 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2001-08-27 08:26:57 +0000
commitab1adff6a9084541dcd9b68b25c6c33edfd408df (patch)
tree6275043176de70b5e5538780e113de175d0351c1 /lib/libc
parent0fa666e5e51567504f856bd6dd2a02d4661a0122 (diff)
Notes
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/sys/minherit.240
1 files changed, 25 insertions, 15 deletions
diff --git a/lib/libc/sys/minherit.2 b/lib/libc/sys/minherit.2
index e78c1d761bce..aadb50c55d2e 100644
--- a/lib/libc/sys/minherit.2
+++ b/lib/libc/sys/minherit.2
@@ -61,32 +61,39 @@ Inheritance only effects children created by
.Fn fork .
It has no effect on
.Fn exec .
-exec'd processes replace their address space entirely. This function also
-has no effect on the parent's address space (other then to potentially
+exec'd processes replace their address space entirely.
+This function also
+has no effect on the parent's address space (other than to potentially
share the address space with its children).
.Pp
-Inheritance is a rather esoteric feature largely superceeded by the
-MAP_SHARED feature of
+Inheritance is a rather esoteric feature largely superseded by the
+.Dv MAP_SHARED
+feature of
.Fn mmap .
However, it is possible to use
.Fn minherit
to share a block of memory between parent and child that has been mapped
-MAP_PRIVATE. That is, modifications made by parent or child are shared but
+.Dv MAP_PRIVATE .
+That is, modifications made by parent or child are shared but
the original underlying file is left untouched.
-.Bl -tag -width MAP_HASSEMAPHORE
+.Bl -tag -width ".Dv INHERIT_SHARE"
.It Dv INHERIT_SHARE
This option causes the address space in question to be shared between
-parent and child. It has no effect on how the original underlying backing
+parent and child.
+It has no effect on how the original underlying backing
store was mapped.
.It Dv INHERIT_NONE
-This option prevents the address space in question from being inherited
-at all. The address space will be unmapped in the child.
+This option prevents the address space in question from being inherited
+at all.
+The address space will be unmapped in the child.
.It Dv INHERIT_COPY
This option causes the child to inherit the address space as copy-on-write.
This option also has an unfortunate side effect of causing the parent
-address space to become copy-on-write when the parent forks. If the
-original mapping was MAP_SHARED, it will no longer be shared in the parent
-after the parent forks and there is no way to get the previous
+address space to become copy-on-write when the parent forks.
+If the original mapping was
+.Dv MAP_SHARED ,
+it will no longer be shared in the parent
+after the parent forks and there is no way to get the previous
shared-backing-store mapping without unmapping and remapping the address
space in the parent.
.El
@@ -114,9 +121,12 @@ and
arguments.
.El
.Sh BUGS
-Once you set inheritance to MAP_PRIVATE or MAP_SHARED, there is no way to
-recover the originanl copy-on-write semantics short of unmapping and remapping
-the area.
+Once you set inheritance to
+.Dv MAP_PRIVATE
+or
+.Dv MAP_SHARED ,
+there is no way to recover the original copy-on-write semantics
+short of unmapping and remapping the area.
.Sh SEE ALSO
.Xr fork 2 ,
.Xr madvise 2 ,