munlock()

Разблокировать диапазон выделенного адресного пространства процесса

Прототип:

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

Аргументы:

addr
Адрес начала разблокируемого диапазона адресного пространства процесса.
len
Размер области памяти в байтах, которую необходимо разблокировать.

Библиотека:

libc

Описание:

Функция munlock() разблокирует указанный диапазон адресного пространства, который был заблокирован вызовом функции mlock() или mlockall(). Блокировки памяти не накладываются друг на друга, память разблокируется, не важно как много раз один и тот же процесс заблокировал её.

Функция munlock() не влияет на те страницы, которые были замапированы и заблокированы в адресных пространствах других процессов.

Возвращаемое значение:

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

ENOMEM
Часть диапазона или весь диапазон адресов, заданный аргументами addr и len, не соответствует допустимым замапированным страницам в адресном пространстве процесса.

Классификация:

POSIX 1003.1 Range Memory Locking

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

mlock(), mlockall(), munlockall()




Предыдущий раздел: Описание API системной библиотеки