Provided by:
manpages-es_1.55-10_all 
NOMBRE
msync - sincroniza un fichero con un mapa de memoria
SINOPSIS
#include <unistd.h>
#include <sys/mman.h>
#ifdef _POSIX_MAPPED_FILES
#ifdef _POSIX_SYNCHRONIZED_IO
int msync(void *comienzo, size_t longitud, int flags);
#endif
#endif
DESCRIPCI'ON
msync vuelca a disco los cambios hechos en la copia en memoria de un
fichero que ha sido mapeado en memoria empleando mmap (2). Sin la
utilizacion de esta llamada no esta garantizado que los cambios se
escriban de vuelta antes de que se llame a munmap (2). Para ser mas
precisos, se actualiza la parte del fichero que corresponde al area de
memoria que empieza en comienzo y tiene de tamano longitud. El
argumento flags puede tener a 1 los bits MS_ASYNC, MS_SYNC y
MS_INVALIDATE, pero no a la vez MS_ASYNC y MS_SYNC. MS_ASYNC planifica
una actualizacion para mas adelante, pero la llamada regresa
inmediatamente. MS_SYNC pide una actualizacion y espera que se
complete. MS_INVALIDATE pide invalidar cualesquiera otros mapeos del
mismo fichero (de forma que puedan actualizarse con los valores frescos
recien escritos).
VALOR DEVUELTO
En caso de exito se devuelve 0. En caso de error se devuelve -1 y se
pone un valor apropiado en errno.
ERRORES
EINVAL comienzo no es multiplo de PAGESIZE, o cualquier bit distinto de
MS_ASYNC | MS_INVALIDATE | MS_SYNC esta a 1 en flags.
EFAULT La memoria indicada (o parte de ella) no ha sido mapeada.
CONFORME A
POSIX.1b (anteriormente POSIX.4)
V'EASE TAMBI'EN
mmap(2), B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 y 389-391.