Provided by: manpages-pt-dev_20040726-4_all bug

NOME

       msync - sincroniza um arquivo com o mapa de memória

SINOPSE

       #include <unistd.h>
       #include <sys/mman.h>

       #ifdef _POSIX_MAPPED_FILES
       #ifdef _POSIX_SYNCHRONIZED_IO

       int msync(const void *start, size_t length, int flags);

       #endif
       #endif

DESCRIÇÃO

       msync  envia as alterações feitas em um arquivo mapeado em memória usando mmap(2) de volta
       para o disco. Sem usar esta chamada na  há  garantia  de  que  alterações  serão  escritas
       novamente  depois  que  munmap(2)  é  chamada.  Para  ser  preciso, a parte do arquivo que
       corresponde à área de memória iniciando em start e tendo comprimento length é  atualizada.
       O argumento flags pode ter os bits MS_ASYNC, MS_SYNC e MS_INVALIDATE selecionados, mas não
       MS_ASYNC e MS_SYNC ao mesmo tempo.  MS_ASYNC especifica que uma atualização está  marcada,
       mas  a  chamada retorna imediatamente.  MS_SYNC solicita por uma atualização e aguarda até
       ela ser completada.  MS_INVALIDATE solicita para invalidar  outros  mapeamentos  do  mesmo
       arquivo (assim que eles possam ser atualizados com os novos valores).

VALORES RETORNADOS

       Em  caso  de  sucesso,  zero  é  retornado.  Caso  contrário,  -1  é  retornado, e errno é
       selecionado adequadamente.

ERROS

       EINVAL start  não  é  um  multiplo  de  PAGESIZE,  ou  qualquer  bit  exceto  MS_ASYNC   |
              MS_INVALIDATE | MS_SYNC é selecionado em flags.

       EFAULT A memória indicada (ou uma parte dela) não foi mapeada.

DE ACORDO COM

       POSIX.1b (anteriormente POSIX.4)

VEJA TAMBÉM

       mmap(2), B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391.

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)