HP-UX Reference (11i v3 07/02) - 2 System Calls (vol 5)
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.
250 Hewlett-Packard Company − 1 − HP-UX 11i Version 3: February 2007