Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MINHERIT(2)		  FreeBSD System Calls Manual		   MINHERIT(2)

NAME
     minherit -- control 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	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), mprotect(2), msync(2),	munmap(2)

HISTORY
     The minherit() function first appeared in OpenBSD 2.0.

FreeBSD	13.0		       January 11, 2019			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=minherit&sektion=2&manpath=OpenBSD+6.9>

home | help