Linux repositories inspector
Linux 1.3.86
12/04/1996

manpages-pt-dev

Portuguese Versions of the Manual Pages (dev sections)

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

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 <> (tradução) Ademar de Souza Reis Jr. <> (revisão)
⇧ Top