MINHERIT(2) BSD Programmer's Manual MINHERIT(2)
minherit - control the inheritance of pages
#include <sys/mman.h> int minherit(void *addr, size_t len, int inherit);
The minherit() system call changes the specified pages to have the inher- itance characteristic inherit. A page's inheritance characteristic con- trols how it will be mapped in child processes as created by fork(2). The possible inheritance characteristics are: MAP_INHERIT_NONE Pages are not mapped in the child process. MAP_INHERIT_COPY Private copy of pages are mapped in the child process. MAP_INHERIT_SHARE Mapped pages are shared between the parent and child processes. MAP_INHERIT_ZERO New anonymous pages (initialized to all zero bytes) are mapped in the child process. Not all implementations will guarantee that the inheritance characteris- tic can be set on a page basis; the granularity of changes may be as large as an entire region.
The minherit() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
The minherit() system call will fail if: [EINVAL] The virtual address range specified by the addr and len ar- guments is not valid. [EINVAL] The inherit argument is invalid.
madvise(2), mincore(2), mprotect(2), msync(2), munmap(2)
The minherit() function first appeared in OpenBSD 2.0. The MAP_INHERIT_ZERO flag first appeared in OpenBSD 5.6. MirOS BSD #10-current July 13, 2014 1
Generated on 2016-04-09 18:24:16 by $MirOS: src/scripts/roff2htm,v 1.83 2016/03/26 23:38:28 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002–2016 The MirOS Project, Germany.
This product includes material provided by mirabilos.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.