Man page - msync(2)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

msync

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
VERSIONS
STANDARDS
HISTORIQUE
VOIR AUSSI
TRADUCTION

NOM

msync - Synchroniser un fichier et une projection en mémoire

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

#include <sys/mman.h>

int msync(void addr [. length ], size_t length , int flags );

DESCRIPTION

msync () Ă©crit les modifications qui ont Ă©tĂ© effectuĂ©es sur la copie d’un fichier qui est projetĂ© en mĂ©moire par mmap (2) sur le systĂšme de fichiers. Si l’on n’utilise pas cet appel, 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 addr et ayant une longueur de length est mise Ă  jour.

Le paramÚtre flags devrait indiquer exactement MS_ASYNC et MS_SYNC et il peut aussi inclure le bit MS_INVALIDATE . Ces bits ont la signification suivante :
MS_ASYNC

Indiquer la programmation d’une mise Ă  jour, mais l’appel renvoie immĂ©diatement.

MS_SYNC

Demander une mise à jour et attendre qu’elle se termine.

MS_INVALIDATE

Demander d’invalider d’autres projections du mĂȘme fichier (pour qu’elles puissent ĂȘtre mises Ă  jour avec les nouvelles valeurs Ă©crites rĂ©cemment).

VALEUR RENVOYÉE

En cas de succĂšs, zĂ©ro est renvoyĂ©. En cas d’erreur, -1 est renvoyĂ© et errno est dĂ©finie pour prĂ©ciser l’erreur.

ERREURS

EBUSY

MS_INVALIDATE Ă©tait positionnĂ© dans flags , mais un verrouillage mĂ©moire existe pour l’intervalle indiquĂ©.

EINVAL

addr 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.

VERSIONS

POSIX spĂ©cifie qu’au moins MS_SYNC ou MS_ASYNC doit ĂȘtre indiquĂ© dans flags , et que si aucun des deux n’est indiquĂ© msync () Ă©chouera sur certains systĂšmes. Cependant, Linux autorise d’appeler msync () sans indiquer aucun des deux attributs, avec une sĂ©mantique actuellement Ă©quivalente Ă  indiquer MS_ASYNC . (Depuis Linux 2.6.19, MS_ASYNC est sans effet, puisque le noyau suit correctement les pages modifiĂ©es et les transfĂšre vers le disque si besoin.) MalgrĂ© le comportement de Linux, les applications portables et destinĂ©es Ă  ĂȘtre pĂ©rennes doivent indiquer au moins MS_SYNC ou MS_ASYNC dans flags .

STANDARDS

POSIX.1-2008.

HISTORIQUE

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 .

Sur les systÚmes conformes à la spécification POSIX sur lesquels 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 . (Consultez aussi sysconf (3).)

VOIR AUSSI

mmap (2)

B.O. Gallmeister, POSIX.4, O’Reilly, p. 128–129 et 389–391.

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .