Voltar à lista
Linux x86_64Memória#149

mlock

Trava uma região de memória em RAM, impedindo que seja enviada para swap.

Descrição

Usada por aplicações sensíveis a latência (áudio em tempo real) ou segurança (evitar que segredos criptográficos sejam escritos em disco via swap).

Header: sys/mman.hman 2

Nota

Sujeita ao limite de recurso RLIMIT_MEMLOCK para processos sem CAP_IPC_LOCK.

Assinatura

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

Parâmetros

ParâmetroTipoDescrição
addrconst void *Início da região, alinhado ao tamanho de página.
lensize_tTamanho da região.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1addrconst void *
rsiargumento 2lensize_t

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EAGAIN(11)
Recurso temporariamente indisponível (tente novamente); também conhecido como EWOULDBLOCK.
EINVAL(22)
Argumento inválido.
ENOMEM(12)
Memória insuficiente para completar a operação.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas

Equivalente em Windows Win32