sub-rotina munmap

Propósito

Desmapeia páginas de memória.

Biblioteca

Biblioteca C Padrão (libc.a)

Sintaxe

#include <sys/types.h>
#include <sys/mman.h>
int munmap ( addr len)
void *addr;
size_t len;

Descrição

O subroutine munmap desmapeia um arquivo mapeado ou região de memória compartilhada ou região de memória anônima. As regiões de munmap subroutine desmapear regiões criadas a partir de chamadas para a subroutine mmap apenas.

Se um endereço residir em uma região não mapeada pela subroutine munmap e essa região não for posteriormente mapeada novamente, qualquer referência a esse endereço resultará na entrega de um sinal SIGSEGV para o processo.

Parâmetros

Item Descrição
End Especifica o endereço da região a ser desmapeado. Deve ser um múltiplo do tamanho da página retornado pela subroutine sysconf usando o valor _SC_PAGE_SIZE para o parâmetro Name .
Com Especifica o comprimento, em bytes, da região a ser não mapeada. Se o parâmetro len não for um múltiplo do tamanho da página retornado pela subroutine sysconf usando o valor _SC_PAGE_SIZE para o parâmetro Name , o comprimento da região é arredondado até o próximo múltiplo do tamanho da página.

Valores De Retorno

Quando bem-sucedido, a subroutine munmap retorna 0. Caso contrário, ele retorna -1 e define a variável global errno para indicar o erro.

Códigos De Erro

Se a subroutine munmap não for bem sucedida, a variável global errno será configurada para o seguinte valor:

Item Descrição
EINVAL O parâmetro addr não é um múltiplo do tamanho da página como retornado pela subroutine sysconf usando o valor _SC_PAGE_SIZE para o parâmetro Name .
EINVAL O aplicativo solicitou um comportamento compatível com a Single UNIX Specification, Versão 2, e o argumento len é 0.