munmap.2 (2010 09)
m
munmap(2) munmap(2)
NAME
munmap - unmap pages of memory
SYNOPSIS
#include <sys/mman.h>
int munmap(void *addr, size_t len);
DESCRIPTION
The munmap() function removes the mappings for pages in the range [addr , addr +len ], rounding the
len argument up to the next multiple of the page size as returned by
sysconf().Ifaddr is not the
address of a mapping established by a prior call to
mmap(), the behavior is undefined. After a successful
call to
munmap() and before any subsequent mapping of the unmapped pages, further references to
these pages will result in the delivery of a
SIGBUS or SIGSEGV signal to the process.
If the specified address range was created by multiple calls to
mmap(), munmap() succeeds in unmap-
ping all of the specified regions, provided they form a contiguous address range.
If the region was created with the
MAP_PRIVATE
option, any modifications made to the region are dis-
carded.
RETURN VALUE
Upon successful completion,
munmap() returns 0. Otherwise, it returns − 1 and sets errno to indicate
the error.
ERRORS
The
munmap() function will fails if:
[EINVAL] The addr argument is not a multiple of the page size as returned by
sysconf(_SC_PAGE_SIZE)
.
[EINVAL] Addresses in the range [addr , addr +len ], are outside the valid range for the
address space of a process.
[EINVAL] The address range specified by addr and len was not created by a successful call to
mmap().
[EINVAL] The len argument is
0.
AUTHOR
munmap() was developed by HP, AT&T, and OSF.
SEE ALSO
mmap(2), sysconf(2), <signal.h>, <sys/mman.h>.
STANDARDS CONFORMANCE
munmap(): AES, SVID3
CHANGE HISTORY
First released in Issue 4, Version 2.
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1