NOME¶
munlock - (re)habilita paginação para algumas partes da
memória
SINOPSE¶
#include <sys/mman.h>
int munlock(const void *addr, size_t len);
DESCRIÇÃO¶
munlock (re)habilita pageamento no intervalo iniciando em
addr com
tamanho de
len bytes. Todas as páginas que contém uma
parte do intervalo de memória especificada podem, depois, chamando
munlock ser movidas novamente para um espaço de troca externo
pelo kernel.
Páginas que foram "travadas" muitas vezes por chamadas para
mlock ou
mlockall serão destravadas por uma simples
chamada para
munlock para um intervalo correspondente ou por
munlockall. Páginas mapeadas para várias
localizações ou por vários processos ficam travados na
RAM conquanto que elas estejam travadas pelo menos em uma
localização ou pelo menos por um processo.
Em sistemas POSIX nos quais
mlock e
munlock estão
disponíveis,
_POSIX_MEMLOCK_RANGE é definida em
<unistd.h> e o valor
PAGESIZE em <limits.h> indica o
número de bytes por página.
VALORES RETORNADOS¶
Em caso de sucesso,
munlock retorna zero. Caso contrário, -1
é retornado
errno é selecionado apropriadamente, e
nenhuma alteração será feita para qualquer travamento no
espaço de endereço do processo.
ERROS¶
- ENOMEM
- Muitos dos intervalos de endereço especificados não
correspondem a páginas mapeadas no espaço de
endereços do processo.
- EINVAL
- len was not a positive number.
DE ACORDO COM¶
POSIX.1b, SVr4
VEJA TAMBÉM¶
mlock(2),
mlockall(2) e
munlockall(2)
TRADUZIDO POR LDP-BR em 21/08/2000.¶
André L. Fassone Canova <lonelywolf@blv.com.br>
(tradução) Ademar de Souza Reis Jr. <ademar@ademar.org>
(revisão)