1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl)
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" Traduction 14/10/1996 par Christophe Blaess (ccb@club-internet.fr)
.\" Mise a Jour 8/04/97
.TH MSYNC 2 "8 Avril 1997" "Linux" "Manuel du programmeur Linux"
.SH NOM
msync \- Synchroniser un fichier et une projection en memoire (mapping).
.SH SYNOPSIS
.B #include <unistd.h>
.br
.B #include <sys/mman.h>
.sp
.B #ifdef _POSIX_MAPPED_FILES
.br
.B #ifdef _POSIX_SYNCHRONIZED_IO
.sp
.BI "int msync(const void *" start ", size_t " length ", int " flags );
.sp
.B #endif
.br
.B #endif
.SH DESCRIPTION
.B msync
ecrit sur le disque les modifications qui ont ete effectuees sur
la copie d'un fichier qui est projete en memoire par
.BR mmap (2).
Si l'on utilise pas cette fonction, rien ne garantit que les
changements soient ecrits avant la suppression de la projection par
.BR munmap (2).
Pour etre plus precis, la portion du fichier correspondant a
la zone memoire commencant en
.I start
et ayant une longueur de
.I length
est mise a jour.
L'argument
.I flags
comprend les bits MS_ASYNC, MS_SYNC et MS_INVALIDATE.
M_ASYNC et M_SYNC ne peuvent pas etre utiliser conjointement.
MS_ASYNC indique que la mise a jour doit etre planifiee, mais
l'appel systeme revient immediatement.
MS_SYNC demande une mise a jour immediate, et attend qu'elle
se termine avant de revenir.
MS_INVALIDATE demande la desactivation de toutes les autres
projections du meme fichier, afin qu'elles soient toutes remises
a jour avec les nouvelles donnees ecrites.
.SH "VALEUR RENVOYEE"
.B msync
renvoie 0 s'il reussit, ou \-1 s'il echoue, auquel cas
.I errno
contient le code d'erreur.
.SH ERREURS
.TP
.BR EINVAL
.I start
n'est pas aligne sur une frontiere de page, ou d'autres
bits que MS_ASYNC | MS_INVALIDATE | MS_SYNC sont a 1
dans
.IR flags.
.TP
.B EFAULT
La zone memoire indiquee (ou une partie de cette zone) n'est
pas une projection.
.SH "CONFORMITE"
POSIX 1.b (anciennement POSIX.4).
.SH "VOIR AUSSI"
.BR mmap (2),
B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391.
|