MUNMAP(2) System Calls MUNMAP(2)

munmap - unmap pages of memory

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

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(3C). If addr is not the address of a mapping established by a prior call to mmap(2), 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.

The mmap(2) function often performs an implicit munmap().

Upon successful completion, munmap() returns 0; otherwise, it returns −1 and sets errno to indicate an error.

The munmap() function will fail if:


The addr argument is not a multiple of the page size as returned by sysconf(3C); addresses in the range [addr, addr + len) are outside the valid range for the address space of a process; or the len argument has a value less than or equal to 0.

See attributes(7) for descriptions of the following attributes:

Interface Stability Standard

mmap(2), sysconf(3C), attributes(7), standards(7)

January 5, 1998 OmniOS