NAME
munmap
—
remove a mapping
SYNOPSIS
#include
<sys/mman.h>
int
munmap
(void
*addr, size_t
len);
DESCRIPTION
The
munmap
()
system call deletes the mappings for the specified address range, and causes
further references to addresses within the range to generate invalid memory
references.
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
munmap
() will fail if:
- [
EINVAL
] - The addr and len parameters specify a region that would extend beyond the end of the address space, or some part of the region being unmapped is not part of the currently valid address space.
- [
EPERM
] - The addr and len parameters specify a region which contains at least one page marked immutable.
SEE ALSO
madvise(2), mimmutable(2), mlock(2), mlockall(2), mmap(2), mprotect(2), msync(2), getpagesize(3)
STANDARDS
When len is non-zero, the
munmap
() function conforms to IEEE
Std 1003.1-2008 (“POSIX.1”).
HISTORY
The munmap
() system call has been
available since 4.3BSD-Net/2.
CAVEATS
IEEE Std 1003.1-2008
(“POSIX.1”) specifies that
munmap
() shall fail with
EINVAL
if len is 0.
OpenBSD performs no action in this case.