Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

munlock()

Unlock the range of process address space already allocated

Synopsis:

#include <sys/mman.h>

int munlock(const void * addr, 
            size_t len);

Arguments:

addr
The starting address for the range of process address space.
len
The length of the memory buffer, in bytes.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The munlock() function unlocks the pages already locked by mlock() or mlockall(). It ignores how many times mlock() has been called before.


Note:

The full POSIX implementation for this function was added in the QNX Neutrino Core OS 6.3.2.


The munlock() function doesn't affect those pages that have been mapped and locked into the address spaces of other processes.


Note: Memory-resident is a term used to indicate that the addresses always reside in physical memory.

Returns:

0
Success.
-1
An error has occurred (errno is set).

Errors:

ENOMEM
Some or all of the address range specified by the addr and len arguments doesn't correspond to valid mapped pages in the address space of the process.

Classification:

POSIX 1003.1 MLR

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

mlock(), mlockall()