OSDN Git Service

LDP: Update draft and release for LDP 3.65
[linuxjm/jm.git] / manual / LDP_man-pages / draft / man2 / msgop.2
index 08d3933..8e6fa1c 100644 (file)
@@ -139,19 +139,15 @@ struct msgbuf {
 .TP 
 \fBMSG_COPY\fP (Linux 3.8 以降)
 .\" commit 4a674f34ba04a002244edaf891b5da7fc1473ae8
-Nondestructively fetch a copy of the message at the ordinal position in the
-queue specified by \fImsgtyp\fP (messages are considered to be numbered
-starting at 0).
+キューの中で \fImsgtyp\fP で指定した位置にあるメッセージのコピーを、キューを変更せずに (非破壊的に) 取り出す (メッセージの位置は 0
+から順番に番号が割り当てられる)。
 
-This flag must be specified in conjunction with \fBIPC_NOWAIT\fP, with the
-result that, if there is no message available at the given position, the
-call fails immediately with the error \fBENOMSG\fP.  Because they alter the
-meaning of \fImsgtyp\fP in orthogonal ways, \fBMSG_COPY\fP and \fBMSG_EXCEPT\fP may
-not both be specified in \fImsgflg\fP.
+このフラグは \fBIPC_NOWAIT\fP と組み合わせて指定しなければならない。 その結果、指定した位置にメッセージがなかった場合、呼び出しはエラー
+\fBENOMSG\fP ですぐに失敗する。 \fBMSG_COPY\fP と \fBMSG_EXCEPT\fP は \fImsgtyp\fP
+の意味を相容れない方法で使用するため、この二つのフラグの両方を \fImsgtyp\fP に指定することはできない。
 
-The \fBMSG_COPY\fP flag was added for the implementation of the kernel
-checkpoint\-restore facility and is available only if the kernel was built
-with the \fBCONFIG_CHECKPOINT_RESTORE\fP option.
+\fBMSG_COPY\fP フラグは、 カーネルのチェックポイント復元 (checkpoint\-restore) 機能の実装のために追加された。
+このフラグはカーネルが \fBCONFIG_CHECKPOINT_RESTORE\fP オプションを有効にして作成された場合にのみ利用できる。
 .TP 
 \fBMSG_EXCEPT\fP
 0 より大きな \fImsgtyp\fP と一緒に使用して、 \fImsgtyp\fP 以外のキューの最初のメッセージを読み込む。
@@ -230,10 +226,10 @@ with the \fBCONFIG_CHECKPOINT_RESTORE\fP option.
 \fImsgqid\fP が不正か、 \fImsgsz\fP が 0 より小さい。
 .TP 
 \fBEINVAL\fP (Linux 3.14 以降)
-\fImsgflg\fP specified \fBMSG_COPY\fP, but not \fBIPC_NOWAIT\fP.
+\fImsgflg\fP に \fBMSG_COPY\fP が指定されたが、 \fBIPC_NOWAIT\fP が指定されていない。
 .TP 
 \fBEINVAL\fP (Linux 3.14 以降)
-\fImsgflg\fP specified both \fBMSG_COPY\fP and \fBMSG_EXCEPT\fP.
+\fImsgflg\fP に \fBMSG_COPY\fP と \fBMSG_EXCEPT\fP の両方が指定された。
 .TP 
 \fBENOMSG\fP
 \fImsgflg\fP に \fBIPC_NOWAIT\fP が設定されており、 メッセージ・キューに要求された型のメッセージが存在しなかった。
@@ -243,15 +239,14 @@ with the \fBCONFIG_CHECKPOINT_RESTORE\fP option.
 未満のメッセージしか入っていなかった。
 .TP 
 \fBENOSYS\fP (Linux 3.8 以降)
-\fIMSG_COPY\fP was specified in \fImsgflg\fP, and this kernel was configured
-without \fBCONFIG_CHECKPOINT_RESTORE\fP.
+\fImsgflg\fP に \fIMSG_COPY\fP が指定されたが、カーネルが \fBCONFIG_CHECKPOINT_RESTORE\fP
+なしで作成されている。
 .SH 準拠
 SVr4, POSIX.1\-2001.
 
 .\" MSG_COPY since glibc 2.18
-The \fBMSG_EXCEPT\fP and \fBMSG_COPY\fP flags are Linux\-specific; their
-definitions can be obtained by defining the \fB_GNU_SOURCE\fP feature test
-macro.
+フラグ \fBMSG_EXCEPT\fP と \fBMSG_COPY\fP は Linux 固有である。 これらの定義を得るには、機能検査マクロ
+\fB_GNU_SOURCE\fP を定義する。
 .SH 注意
 .\" Like Linux, the FreeBSD man pages still document
 .\" the inclusion of these header files.
@@ -278,19 +273,17 @@ Linux や POSIX の全てのバージョンでは、 \fI<sys/types.h>\fP と \fI
 .SH バグ
 .\" FIXME http://marc.info/?l=linux-kernel&m=139048542803605&w=2
 .\" commit 4f87dac386cc43d5525da7a939d4b4e7edbea22c
-In Linux 3.13 and earlier, if \fBmsgrcv\fP()  was called with the \fBMSG_COPY\fP
-flag, but without \fBIPC_NOWAIT\fP, and the message queue contained less than
-\fImsgtyp\fP messages, then the call would block until the next message is
-written to the queue.  At that point, the call would return a copy of the
-message, \fIregardless\fP of whether that message was at the ordinal position
-\fImsgtyp\fP.  This bug is fixed in Linux 3.14.
+Linux 3.13 以前では、 \fBmsgrcv\fP() の呼び出しで \fBMSG_COPY\fP フラグは指定されたが \fBIPC_NOWAIT\fP
+は指定されず、かつメッセージキューに \fImsgtyp\fP 未満のメッセージしかない場合に、 \fBmsgrcv\fP()
+の呼び出しはキューに次のメッセージが書き込まれるまで停止していた。 新しいメッセージが書き込まれた時点で、 そのメッセージが指定された位置
+\fImsgtyp\fP かどうかに\fI関わらず\fP、 \fBmsgrcv\fP() の呼び出しは新たに書き込まれたメッセージのコピーを返していた。 このバグは
+Linux 3.14で修正された。
 
 .\" FIXME http://marc.info/?l=linux-kernel&m=139048542803605&w=2
 .\" commit 4f87dac386cc43d5525da7a939d4b4e7edbea22c
-Specifying both \fBMSG_COPY\fP and \fBMSC_EXCEPT\fP in \fImsgflg\fP is a logical
-error (since these flags impose different interpretations on \fImsgtyp\fP).  In
-Linux 3.13 and earlier, this error was not diagnosed by \fBmsgrcv\fP().  This
-bug is fixed in Linux 3.14.
+\fImsg_copy\fP に \fBMSG_COPY\fP と \fBMSG_EXCEPT\fP の両方を指定するのは、論理的なエラーである
+(なぜならこれらのフラグは \fImsgtyp\fP を別の意味で解釈するからである)。 Linux 3.13 以前では、\fBmsgrcv\fP()
+がこのエラーを検出しなかった。 このバグは Linux 3.14 で修正された。
 .SH 関連項目
 \fBmsgctl\fP(2), \fBmsgget\fP(2), \fBcapabilities\fP(7), \fBmq_overview\fP(7),
 \fBsvipc\fP(7)