unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-5.7)
Page:
Section:
Apropos / Subsearch:
optional field

MINHERIT(2)                 BSD System Calls Manual                MINHERIT(2)

NAME
     minherit -- control the inheritance of pages

SYNOPSIS
     #include <&lt;sys/mman.h>&gt;

     int
     minherit(void *addr, size_t len, int inherit);

DESCRIPTION
     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.

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.

BSD                             March 28, 2017                             BSD