Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]
MSYNC
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- ERREURS
- DISPONIBILITÉ
- CONFORMITÉ
- VOIR AUSSI
- TRADUCTION
NOM
msync - Synchroniser un fichier et une projection en mémoire
SYNOPSIS
#include <sys/mman.h>
int msync(void *start, size_t length, int flags);
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
n'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 à
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
L'appel renvoie 0 quand 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 (un multiple de
PAGESIZE), ou d'autres bits que MS_ASYNC | MS_INVALIDATE | MS_SYNC sont à 1
dans flags. Ou bien MS_SYNC et MS_ASYNC sont tous les deux spécifiés dans
flags.
- ENOMEM
-
La zone mémoire indiquée (ou une partie de cette zone) n'est pas une
projection.
DISPONIBILITÉ
Sur les systèmes conformes à la spécification POSIX sur lequel msync()
est disponible, les constantes symboliques _POSIX_MAPPED_FILES et
_POSIX_SYNCHRONIZED_IO sont définies dans <unistd.h> comme étant
des valeurs supérieures à 0. (Voir aussi sysconf(3).)
CONFORMITÉ
POSIX.1-2001.
Cet appel a été introduit dans Linux 1.3.21, et utilisait EFAULT au lieu de
ENOMEM. Dans Linux 2.4.19, ceci a été remplacé par la valeur POSIX ENOMEM.
VOIR AUSSI
mmap(2)
B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 et 389-391.
TRADUCTION
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en
utilisant la commande
« man -L C <section> <page_de_man> ».
|