tail head cat sleep
QR code linking to this page

Manpage  — MSYNC

BEZEICHNUNG

msync - synchronisiere eine Datei mit dem projizierten Speicherbereich

INHALT

ÜBERSICHT

#include <unistd.h>
#include <sys/mman.h>

#ifdef _POSIX_MAPPED_FILES
#ifdef _POSIX_SYNCHRONIZED_IO

int msync(const void *start, size_t length, int flags);

#endif
#endif

BESCHREIBUNG

msync schreibt die Änderungen, die in der Kernelkopie der Datei gemacht wurden, die mittels mmap(2) in den Speicher projiziert wurde, auf die Platte. Ohne Verwendung dieses Aufrufs besteht keine Garantie, daß Ä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 start anfängt und length lang ist, wird neu geschrieben. Der Parameter flags kann die Bits MS_ASYNC, MS_SYNC und MS_INVALIDATE gesetzt haben, jedoch nicht MS_ASYNC und MS_SYNC gleichzeitig. MS_ASYNC bedeutet, daß die Bearbeitung in die Warteschlange aufgenommen werden darf, die Routine kehrt sofort zurück. MS_SYNC bewirkt, daß das Schreiben sofort erledigt wird, die Routine kehrt erst nach dessen Ausführung zurück. MS_INVALIDATE bewirkt, daß andere Projektionen von der gleichen Datei ungültig werden (sodaß sie nicht mit den neuen, gerade geschriebenen Werten aktualisiert werden können)

RÜCKGABEWERT

Bei Erfolg wird null zurückgegeben, bei Fehler -1 und errno wird entsprechend gesetzt.

FEHLER

EINVAL start ist kein Vielfaches von PAGESIZE oder ein Bit außer MS_ASYNC | MS_INVALIDATE | MS_SYNC ist in +.IR flags +gesetzt.
EFAULT Der angegebene Speicherbereich (oder ein Teil davon) ist keine Projektion

KONFORM ZU

POSIX.4.

SIEHE AUCH

mmap(2), B.O. Gallmeister POSIX.4 O'Reilly pp. 128-129 and 389-391.

15. Juni 1996 MSYNC (2) Linux 1.3.86

tail head cat sleep
QR code linking to this page


Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.

Unix is the answer, but only if you phrase the question very carefully.
— Belinda Asbell