int
minherit(
void *addr
, size_t len
, int inherit
)
)
system call
changes the specified range of virtual addresses to have the specified
fork-time inheritance characteristic
inherit
,
which can be set to
MAP_INHERIT_NONE
,
MAP_INHERIT_COPY
,
or
MAP_INHERIT_SHARE
.
Also possible is
MAP_INHERIT_DEFAULT
,
which defaults to
MAP_INHERIT_COPY
.
Not all implementations will guarantee that the inheritance characteristic
can be set on a page basis;
the granularity of changes may be as large as an entire region.
Normally, the entire address space is marked
MAP_INHERIT_COPY
;
when the process calls
fork(),
the child receives a (virtual) copy of the entire address space.
Pages or regions marked
MAP_INHERIT_SHARE
are shared between the address spaces, while pages or regions marked
MAP_INHERIT_NONE
will be unmapped in the child.
)
will fail if:
EINVAL
]
)
function first appeared in
OpenBSD.
).