[OpenBSD]

Manual Page Search Parameters

MINHERIT(2) System Calls Manual MINHERIT(2)

NAME

minheritcontrol the inheritance of pages

SYNOPSIS

#include <sys/mman.h>
int
minherit(void *addr, size_t len, int inherit);

DESCRIPTION

The minherit() system call changes the specified pages to have the inheritance characteristic inherit. A page's inheritance characteristic controls 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 characteristic can be set on a page basis; the granularity of changes may be as large as an entire region.

RETURN VALUES

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

ERRORS

The minherit() system call will fail if:
 
 
[EINVAL]
The virtual address range specified by the addr and len arguments is not valid.
 
 
[EINVAL]
The inherit argument is invalid.

SEE ALSO

madvise(2), mincore(2), mprotect(2), msync(2), munmap(2)

HISTORY

The minherit() function first appeared in OpenBSD 2.0.
July 2, 2014 OpenBSD-current