.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) .\" .\" %%%LICENSE_START(VERBATIM) .\" 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. .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MSYNC 2 "9. Juni 2020" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG msync \- eine Datei mit einem Speicherabbild synchronisieren .SH ÜBERSICHT \fB#include \fP .PP \fBint msync(void *\fP\fIAdresse\fP\fB, size_t \fP\fILänge\fP\fB, int \fP\fISchalter\fP\fB);\fP .SH BESCHREIBUNG \fBmsync\fP leitet Änderungen, die in der im Speicher befindlichen Kopie einer Datei gemacht wurden, mittels \fBmmap\fP(2) zurück in das Dateisystem. Ohne Verwendung dieses Aufrufs besteht keine Garantie, dass Änderungen auf die Platte geschrieben werden, bevor \fBmunmap\fP(2) aufgerufen wird. Um genauer zu sein: Der Teil der Datei, der dem Speicherbereich entspricht, der bei \fIAdresse\fP anfängt und \fILänge\fP lang ist, wird aktualisiert. .PP Das Argument \fISchalter\fP sollte entweder \fBMS_ASYNC\fP oder \fBMS_SYNC\fP angeben. Es kann zusätzlich das Bit \fBMS_INVALIDATE\fP enthalten. Diese Bits haben folgende Bedeutung: .TP \fBMS_ASYNC\fP gibt an, dass eine Aktualisierung geplant wird, der Aufruf jedoch sofort zurückkehrt. .TP \fBMS_SYNC\fP fordert eine Aktualisierung an und wartet, bis sie abgeschlossen ist. .TP \fBMS_INVALIDATE\fP .\" Since Linux 2.4, this seems to be a no-op (other than the .\" EBUSY check for VM_LOCKED). erbittet, dass andere Abbildungen der selben Datei verworfen werden sollen (so dass sie mit den neuen nur geschriebenen Werten aktualisiert werden können). .SH RÜCKGABEWERT Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird \-1 zurückgegeben und \fIerrno\fP entsprechend gesetzt. .SH FEHLER .TP \fBEBUSY\fP \fBMS_INVALIDATE\fP wurde in \fISchalter\fP angegeben und es existiert eine Speichersperre für den angegebenen Adressbereich. .TP \fBEINVAL\fP \fIadresse\fP ist kein Vielfaches der SEITENGRÖßE oder ein anderes Bit als \fBMS_ASYNC\fP | \fBMS_INVALIDATE\fP | \fBMS_SYNC\fP ist in \fISchalter\fP gesetzt oder in \fIschalter\fP sind sowohl \fBMS_SYNC\fP als auch \fBMS_ASYNC\fP gesetzt. .TP \fBENOMEM\fP Der angegebene Speicher (oder ein Teil davon) wurde nicht abgebildet. .SH "KONFORM ZU" POSIX.1\-2001, POSIX.1\-2008. .PP Dieser Aufruf wurde in Linux 1.3.21 eingeführt und dann \fBEFAULT\fP an Stelle von \fBENOMEM\fP benutzt. In Linux 2.4.19 wurde dies auf den POSIX\-Wert \fBENOMEM\fP geändert. .PP .\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. .\" -1: unavailable, 0: ask using sysconf(). .\" glibc defines them to 1. Auf POSIX\-Systemen, auf denen \fBmsync\fP() verfügbar ist, sind sowohl \fB_POSIX_MAPPED_FILES\fP als auch \fB_POSIX_SYNCHRONIZED_IO\fP in \fI\fP als ein Wert größer als 0 definiert. (Siehe auch \fBsysconf\fP(3).) .SH ANMERKUNGEN .\" commit 204ec841fbea3e5138168edbc3a76d46747cc987 Gemäß POSIX muss entweder \fBMS_SYNC\fP oder \fBMS_ASYNC\fP in \fISchalter\fP angegeben werden und das tatsächliche Fehlschlagen beim Einfügen von einem dieser Schalter wird dazu führen, dass \fBmsync\fP() auf einigen Systemen scheitert. Linux erlaubt jedoch einen Aufruf von \fBmsync\fP() ohne diese Schalter mit einer Semantik, die (derzeit) der Angabe von \fBMS_ASYNC\fP entspricht. (Seit Linux 2.6.19 ist \fBMS_ASYNC\fP de facto ein Leerbefehl, da der Kernel unsaubere Seiten korrekt verfolgt und wenn nötig aus dem Speicher leert.) Trotz des Linux\-Verhaltens sollten portable, zukunftssichere Anwendungen sicherstellen, dass sie \fBMS_SYNC\fP oder \fBMS_ASYNC\fP in \fISchalter\fP angeben. .SH "SIEHE AUCH" \fBmmap\fP(2) .PP B.O. Gallmeister, POSIX.4, O'Reilly, Seiten 128\(en129 und 389\(en391. .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können, sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze und Chris Leick erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .