Provided by: manpages-pt-dev_20040726-2_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)