HPlogo HP-UX Reference > M

munmap(2)

HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

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(). If addr 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 unmapping 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 discarded.

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.