munlock - разрешает страничный обмен в памяти
НАЗВАНИЕmunlock - разрешает страничный обмен в памяти
СИНТАКСИС
#include
int munlock(const void *addr, size_t len);
ОПИСАНИЕ
munlock разрешает страничный обмен в областях памяти,
указание на которую начинается с адреса addr длиной len
байтов. Все страницы, содержащие часть заданной области
памяти, могут быть помещены ядром во внешнюю область
подкачки с помощью вызова munlock Блокировка памяти не
попадает в стек, т.е., страницы, блокированные несколько
раз при помощи функций mlock или mlockall , будут
разблокированы одним вызовом munlock (с соответствующими
параметрами) или munlockall. Страницы, помещенные в
несколько областей памяти или принадлежащие нескольким
процессам, будут заблокированы в памяти до тех пор, пока
они заблокированы хотя бы в одной из областей памяти или
одним процессом. В POSIX-системах, в которых доступны
mlock и munlock , в задана константа
_POSIX_MEMLOCK_RANGE , и значение PAGESIZE в
задает количество байтов в странице.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При удачном завершении вызова возвращаемое значение равно
нулю. При ошибке возвращается -1, переменной errno
присваивается номер ошибки, и ни с одной из блокировок
памяти ничего не произойдет.
КОДЫ ОШИБОК
ENOMEM Часть заданной области памяти не соответствует
области памяти процесса.
EINVAL len - неположительное число.
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1b, SVr4