MSYNC
Section: Manuel du programmeur Linux (2) Updated: 18 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION
NOM
msync - Synchroniser un fichier et une projection en mémoire.
SYNOPSIS
#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
DESCRIPTION
msync
écrit sur le disque les modifications qui ont été effectuées sur
la copie d'un fichier qui est projeté en mémoire par
mmap(2).
Si l'on utilise pas cette fonction, rien ne garantit que les
changements soient écrits avant la suppression de la projection par
munmap(2).
Pour être plus précis, la portion du fichier correspondant à
la zone mémoire commençant en
start
et ayant une longueur de
length
est mise a jour.
L'argument
flags
comprend les bits MS_ASYNC, MS_SYNC et MS_INVALIDATE.
M_ASYNC et M_SYNC ne peuvent pas être utilisés conjointement.
l'appel système revient immédiatement.
MS_SYNC demande une mise à jour immédiate, et attend qu'elle
se termine avant de revenir.
MS_INVALIDATE demande la désactivation de toutes les autres
projections du même fichier, afin qu'elles soient toutes remises
à jour avec les nouvelles données écrites.
VALEUR RENVOYÉE
msync
renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas
errno
contient le code d'erreur.
ERREURS
- EINVAL
-
start
n'est pas aligné sur une frontière de page, ou d'autres
bits que MS_ASYNC | MS_INVALIDATE | MS_SYNC sont à 1
dans
flags.
- EFAULT
-
La zone mémoire indiquée (ou une partie de cette zone) n'est
pas une projection.
CONFORMITÉ
POSIX 1.b (anciennement POSIX.4).
VOIR AUSSI
mmap(2),
B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391.
TRADUCTION
Christophe Blaess, 1996-2003.
|
|