tail head cat sleep
QR code linking to this page

manページ  — MSYNC

名称

msync – マップされた領域を同期化する

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <sys/mman.h>

int
msync(void *addr, size_t len, int flags);

解説

msync() システムコールは、修正されたページをファイルシステムに書き込んで ファイル修正時刻を更新します。 len が 0 の場合、 addr を含むリージョン内のすべての修正済みページがフラッシュされます。 len が 0 でない場合、 addr から len-1 の範囲を含むページだけが調べられます。 flags 引数は次のように指定できます:

MS_ASYNC ただちに戻ります
MS_SYNC 同期書込みを実行します
MS_INVALIDATE
  キャッシュされたデータをすべて無効にします

戻り値

The msync function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

msync() システムコールは次の場合に失敗します:
[EBUSY]
  指定された領域の一部またはすべてのページがロックされており、 MS_INVALIDATE が指定されました。
[EINVAL]
  addr 引数はハードウェアページサイズの倍数ではありません。
[EINVAL]
  len 引数が大きすぎるか、または負です。
[EINVAL]
  flags 引数に MS_ASYNC と MS_INVALIDATE の両方が指定されました。 これらのフラグは同時に指定することはできません。

関連項目

madvise(2), mincore(2), mlock(2), mprotect(2), munmap(2)

歴史

msync() システムコールは BSD 4.4 ではじめて登場しました。

MSYNC (2) June 21, 1994

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Computer science would have progressed much further and faster if all of the time and effort that has been spent maintaining and nurturing Unix had been spent on a sounder operating system.
— The Unix Haters' handbook