OSDN Git Service

Update draft for LDP 3.67
[linuxjm/LDP_man-pages.git] / draft / man2 / msync.2
index 95291fa..18aa1bb 100644 (file)
@@ -1,7 +1,6 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
 .\" 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.
 .\"
 .\" 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.
+.\"
+.\"*******************************************************************
 .\"
 .\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
 .\"         all rights reserved.
 .\"         by Suzuki Takashi.
 .\" Updated 2007-01-01 by Kentaro Shirakata <argrath@ub32.org>
 .\"
-.\"WORD: in-core                メモリ上の
-.\"
-.TH MSYNC 2 2008-04-22 "Linux" "Linux Programmer's Manual"
-.\"O .SH NAME
+.TH MSYNC 2 2014\-04\-20 Linux "Linux Programmer's Manual"
 .SH 名前
-.\"O msync \- synchronize a file with a memory map
 msync \- ファイルをマップしたメモリと同期させる
-.\"O .SH SYNOPSIS
 .SH 書式
-.B #include <sys/mman.h>
+\fB#include <sys/mman.h>\fP
 .sp
-.BI "int msync(void *" addr ", size_t " length ", int " flags );
-.\"O .SH DESCRIPTION
+\fBint msync(void *\fP\fIaddr\fP\fB, size_t \fP\fIlength\fP\fB, int \fP\fIflags\fP\fB);\fP
 .SH 説明
-.\"O .BR msync ()
-.\"O flushes changes made to the in-core copy of a file that was mapped
-.\"O into memory using
-.\"O .BR mmap (2)
-.\"O back to disk.
-.\"O Without use of this call
-.\"O there is no guarantee that changes are written back before
-.\"O .BR munmap (2)
-.\"O is called.
-.\"O To be more precise, the part of the file that
-.\"O corresponds to the memory area starting at
-.\"O .I addr
-.\"O and having length
-.\"O .I length
-.\"O is updated.
-.BR msync ()
-は
-.BR mmap (2)
-を使ってメモリにマップされたファイルの、
-メモリ上のコピーになされた変更をディスクに反映させる。
-この関数を使用しないと、
-.BR munmap (2)
-が呼び出されるまで変更が書き戻される保証はない。
-より正確には、ファイルのうち
-.I addr
-から始まり長さ
-.I length
+\fBmsync\fP()  は \fBmmap\fP(2)  を使ってメモリにマップされたファイルの、
+メモリ上のコピーになされた変更をファイルシステムに反映させる。 この関数を使用しないと、 \fBmunmap\fP(2)
+が呼び出されるまで変更が書き戻される保証はない。 より正確には、ファイルのうち \fIaddr\fP から始まり長さ \fIlength\fP
 のメモリ領域に対応する部分が更新される。
 
-.\"O The
-.\"O .I flags
-.\"O argument may have the bits
-.\"O .BR MS_ASYNC ,
-.\"O .BR MS_SYNC ,
-.\"O and
-.\"O .B MS_INVALIDATE
-.\"O set, but not both
-.\"O .B MS_ASYNC
-.\"O and
-.\"O .BR MS_SYNC .
-.I flags
-引数にはビット
-.BR MS_ASYNC ,
-.BR MS_SYNC ,
-.B MS_INVALIDATE
-を設定することができるが、
-.B MS_ASYNC
-と
-.B MS_SYNC
-を同時に指定することはできない。
-.\"O .B MS_ASYNC
-.\"O specifies that an update be scheduled, but the call
-.\"O returns immediately.
-.B MS_ASYNC
-は更新を予定に組み込むことを表し、呼び出しは直ちに返る。
-.\"O .B MS_SYNC
-.\"O asks for an update and waits for it to complete.
-.B MS_SYNC
-は更新を要求し、更新が完了するまで待つ。
-.\"O .B MS_INVALIDATE
-.\"O asks to invalidate other mappings of the same file
-.\"O (so that they can be updated with the fresh values just written).
-.B MS_INVALIDATE
-は(たった今書き込んだ新しい値でマッピングを更新することができるように)
+\fIflags\fP 引数にはビット \fBMS_ASYNC\fP, \fBMS_SYNC\fP, \fBMS_INVALIDATE\fP を設定することができるが、
+\fBMS_ASYNC\fP と \fBMS_SYNC\fP を同時に指定することはできない。 \fBMS_ASYNC\fP
+は更新を予定に組み込むことを表し、呼び出しは直ちに返る。 \fBMS_SYNC\fP は更新を要求し、更新が完了するまで待つ。
+\fBMS_INVALIDATE\fP は(たった今書き込んだ新しい値でマッピングを更新することができるように)
 同じファイルに対する他のマッピングを無効にすることを要求する。
-.\"O .SH "RETURN VALUE"
 .SH 返り値
-.\"O On success, zero is returned.
-.\"O On error, \-1 is returned, and
-.\"O .I errno
-.\"O is set appropriately.
-成功した場合、 0 が返る。エラーの場合、 \-1 が返り、
-.I errno
-が適切に設定される。
-.\"O .SH ERRORS
+成功した場合、 0 が返る。エラーの場合、 \-1 が返り、 \fIerrno\fP が適切に設定される。
 .SH エラー
-.TP
-.B EBUSY
-.\"O .B MS_INVALIDATE
-.\"O was specified in
-.\"O .IR flags ,
-.\"O and a memory lock exists for the specified address range.
-I flags
-に
-.B MS_INVALIDATE
-が指定されたが、指定されたアドレス範囲にロックが存在する。
-.TP
-.B EINVAL
-.\"O .I addr
-.\"O is not a multiple of PAGESIZE; or any bit other than
-.\"O .BR MS_ASYNC " | " MS_INVALIDATE " | " MS_SYNC
-.\"O is set in
-.\"O .IR flags ;
-.\"O or both
-.\"O .B MS_SYNC
-.\"O and
-.\"O .B MS_ASYNC
-.\"O are set in
-.\"O .IR flags .
-.I addr
-が PAGESIZE の倍数でない。または、
-.I flags
-に
-.BR MS_ASYNC 、 MS_INVALIDATE 、 MS_SYNC
-以外のビットが設定された。
-または、
-.I flags
-に
-.B MS_SYNC
-と
-.B MS_ASYNC
-の両方が設定された。
-.TP
-.B ENOMEM
-.\"O The indicated memory (or part of it) was not mapped.
+.TP 
+\fBEBUSY\fP
+I flags に \fBMS_INVALIDATE\fP が指定されたが、指定されたアドレス範囲にロックが存在する。
+.TP 
+\fBEINVAL\fP
+\fIaddr\fP が PAGESIZE の倍数でない。または、 \fIflags\fP に
+\fBMS_ASYNC\fP、\fBMS_INVALIDATE\fP、\fBMS_SYNC\fP 以外のビットが設定された。 または、 \fIflags\fP に
+\fBMS_SYNC\fP と \fBMS_ASYNC\fP の両方が設定された。
+.TP 
+\fBENOMEM\fP
 指定されたメモリ (またはその一部) がマップされていない。
-.\"O .SH "CONFORMING TO"
 .SH 準拠
-POSIX.1-2001.
+POSIX.1\-2001.
 
-.\"O This call was introduced in Linux 1.3.21, and then used
-.\"O .B EFAULT
-.\"O instead of
-.\"O .BR ENOMEM .
-.\"O In Linux 2.4.19 this was changed to the POSIX value
-.\"O .BR ENOMEM .
-この関数は Linux 1.3.21 で導入されたが、
-.B ENOMEM
-ではなく
-.B EFAULT
-が使われていた。
-これは Linux 2.4.19 で POSIX における値
-.B ENOMEM
-に変更された。
-.\"O .SH AVAILABILITY
+この関数は Linux 1.3.21 で導入されたが、 \fBENOMEM\fP ではなく \fBEFAULT\fP が使われていた。 これは Linux
+2.4.19 で POSIX における値 \fBENOMEM\fP に変更された。
 .SH 可用性
-.\"O On POSIX systems on which
-.\"O .BR msync ()
-.\"O is available, both
-.\"O .B _POSIX_MAPPED_FILES
-.\"O and
-.\"O .B _POSIX_SYNCHRONIZED_IO
-.\"O are defined in \fI<unistd.h>\fP to a value greater than 0.
-.\"O (See also
-.\"O .BR sysconf (3).)
-.BR msync ()
-が使用可能な POSIX システムでは
-.B _POSIX_MAPPED_FILES
-と
-.B _POSIX_SYNCHRONIZED_IO
-の両方が \fI<unistd.h>\fP で 0 より大きい値に定義される。
-.RB ( sysconf (3)
-を参照すること。 )
-.\"O .\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
-.\"O .\" -1: unavailable, 0: ask using sysconf().
-.\"O .\" glibc defines them to 1.
-.\" POSIX.1-2001: これらの値は -1 または 0 または 200112L と定義される。
-.\" -1 は使用不可能、 0 は sysconf() に問い合わせる
-.\" glibc では 1 と定義している。
-.\"O .SH "SEE ALSO"
+.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
+.\" -1: unavailable, 0: ask using sysconf().
+.\" glibc defines them to 1.
+\fBmsync\fP()  が使用可能な POSIX システムでは \fB_POSIX_MAPPED_FILES\fP と
+\fB_POSIX_SYNCHRONIZED_IO\fP の両方が \fI<unistd.h>\fP で 0 より大きい値に定義される。
+(\fBsysconf\fP(3)  を参照すること。 )
+.SH 注意
+.\" commit 204ec841fbea3e5138168edbc3a76d46747cc987
+POSIX では \fBMS_SYNC\fP と \fBMS_ASYNC\fP のいずれかは必ず \fIflags\fP に指定しなければならないとされており、
+実際にこれらのフラグのいずれかを指定しなかった場合 \fBmsync\fP() が失敗するシステムもある。 しかし、 Linux
+ではこれらのフラグのいずれも指定せずに \fBmsync\fP() を呼び出すことができ、 その場合の動作は (現在のところ) \fBMS_ASYNC\fP
+を指定した場合と等価である。 (Linux 2.6.19 以降では \fBMS_ASYNC\fP は実際には no\-op (何もしない命令) である。
+これはカーネルが正しく dirty ページを追跡し、必要に応じてストレージにそれらをフラッシュするからである。) Linux
+の動作に関係なく、アプリケーションの移植性を考慮し、将来も確実に動くようにするには、 \fBMS_SYNC\fP か \fBMS_ASYNC\fP のいずれかを必ず
+\fIflags\fP に指定するようにすべきである。
 .SH 関連項目
-.BR mmap (2)
-.br
-B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391.
+\fBmmap\fP(2)
+
+B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128\-129 and 389\-391.
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。