Provided by: manpages-es_1.55-10_all bug

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.