BEZEICHNUNG¶
msync - eine Datei mit einem Speicherabbild synchronisieren
ÜBERSICHT¶
#include <sys/mman.h>
int msync(void *adresse, size_t laenge, int
schalter);
BESCHREIBUNG¶
msync leitet Änderungen, die in der im Speicher befindlichen Kopie
einer Datei gemacht wurden, mittels
mmap(2) zurück auf die Platte.
Ohne Verwendung dieses Aufrufs besteht keine Garantie, dass Änderungen
auf die Platte geschrieben werden, bevor
munmap(2) aufgerufen wird. Um
genauer zu sein: Der Teil der Datei, der dem Speicherbereich entspricht, der
bei
adresse anfängt und
laenge lang ist, wird aktualisiert.
Beim Argument
schalter können die Bits
MS_ASYNC,
MS_SYNC und
MS_INVALIDATE gesetzt sein, aber nicht
MS_ASYNC und
MS_SYNC gleichzeitig.
MS_ASYNC gibt an, dass
eine Aktualisierung geplant, der Aufruf aber sofort zurückkehrt.
MS_SYNC fragt eine Aktualisierung an und wartet bis zur Komplettierung.
MS_INVALIDATE fragt eine Annullierung anderer Abbilder der gleichen
Datei an (so dass sie mit den frischen gerade geschriebenen Werten
aktualisiert werden können).
RÜCKGABEWERT¶
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1
zurückgegeben und
errno entsprechend gesetzt.
FEHLER¶
- EBUSY
- MS_INVALIDATE wurde in schalter angegeben und
es existiert eine Speichersperre für den angegebenen
Adressbereich.
- EINVAL
- adresse ist kein Vielfaches der
SEITENGRÖßE oder ein anderes Bit als MS_ASYNC |
MS_INVALIDATE | MS_SYNC ist in schalter gesetzt oder
in schalter sind sowohl MS_SYNC als auch MS_ASYNC
gesetzt.
- ENOMEM
- Der angegebene Speicher (oder ein Teil davon) wurde nicht
abgebildet.
POSIX.1-2001.
Dieser Aufruf wurde in Linux 1.3.21 eingeführt und dann
EFAULT an
Stelle von
ENOMEM benutzt. In Linux 2.4.19 wurde dies auf den
POSIX-Wert
ENOMEM geändert.
VERFÜGBARKEIT¶
Auf POSIX-Systemen, auf denen
msync() verfügbar ist, sind sowohl
_POSIX_MAPPED_FILES als auch
_POSIX_SYNCHRONIZED_IO in
<unistd.h> als ein Wert größer als 0 definiert. (Siehe
auch
sysconf(3).)
SIEHE AUCH¶
mmap(2)
B.O. Gallmeister, POSIX.4, O'Reilly, Seiten 128-129 und 389-391.
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze
<joey@infodrom.org> und Chris Leick <c.leick@vollbio.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.