OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / po4a / mqueue / po / ja.po
index 3be540f..deec340 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-03-22 04:26+0900\n"
-"PO-Revision-Date: 2012-03-23 04:51+0900\n"
+"POT-Creation-Date: 2015-02-04 23:30+0900\n"
+"PO-Revision-Date: 2015-02-04 23:40+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -22,19 +22,18 @@ msgid "MQ_CLOSE"
 msgstr "MQ_CLOSE"
 
 #. type: TH
-#: build/C/man3/mq_close.3:26 build/C/man3/mq_getattr.3:26
-#: build/C/man2/mq_getsetattr.2:26 build/C/man3/mq_unlink.3:26
+#: build/C/man3/mq_close.3:26 build/C/man3/mq_unlink.3:26
 #, no-wrap
-msgid "2010-08-29"
-msgstr "2010-08-29"
+msgid "2014-06-13"
+msgstr "2014-06-13"
 
 #. type: TH
 #: build/C/man3/mq_close.3:26 build/C/man3/mq_getattr.3:26
 #: build/C/man2/mq_getsetattr.2:26 build/C/man3/mq_notify.3:26
 #: build/C/man3/mq_open.3:26 build/C/man7/mq_overview.7:26
 #: build/C/man3/mq_receive.3:26 build/C/man3/mq_send.3:26
-#: build/C/man3/mq_unlink.3:26 build/C/man2/msgctl.2:35
-#: build/C/man2/msgget.2:33 build/C/man2/msgop.2:38
+#: build/C/man3/mq_unlink.3:26 build/C/man2/msgctl.2:37
+#: build/C/man2/msgget.2:35 build/C/man2/msgop.2:41
 #, no-wrap
 msgid "Linux"
 msgstr "Linux"
@@ -44,8 +43,8 @@ msgstr "Linux"
 #: build/C/man2/mq_getsetattr.2:26 build/C/man3/mq_notify.3:26
 #: build/C/man3/mq_open.3:26 build/C/man7/mq_overview.7:26
 #: build/C/man3/mq_receive.3:26 build/C/man3/mq_send.3:26
-#: build/C/man3/mq_unlink.3:26 build/C/man2/msgctl.2:35
-#: build/C/man2/msgget.2:33 build/C/man2/msgop.2:38
+#: build/C/man3/mq_unlink.3:26 build/C/man2/msgctl.2:37
+#: build/C/man2/msgget.2:35 build/C/man2/msgop.2:41
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr "Linux Programmer's Manual"
@@ -55,8 +54,8 @@ msgstr "Linux Programmer's Manual"
 #: build/C/man2/mq_getsetattr.2:27 build/C/man3/mq_notify.3:27
 #: build/C/man3/mq_open.3:27 build/C/man7/mq_overview.7:27
 #: build/C/man3/mq_receive.3:27 build/C/man3/mq_send.3:27
-#: build/C/man3/mq_unlink.3:27 build/C/man2/msgctl.2:36
-#: build/C/man2/msgget.2:34 build/C/man2/msgop.2:39
+#: build/C/man3/mq_unlink.3:27 build/C/man2/msgctl.2:38
+#: build/C/man2/msgget.2:36 build/C/man2/msgop.2:42
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
@@ -71,7 +70,7 @@ msgstr "mq_close - メッセージキュー記述子をクローズする"
 #: build/C/man2/mq_getsetattr.2:29 build/C/man3/mq_notify.3:29
 #: build/C/man3/mq_open.3:29 build/C/man3/mq_receive.3:29
 #: build/C/man3/mq_send.3:29 build/C/man3/mq_unlink.3:29
-#: build/C/man2/msgctl.2:38 build/C/man2/msgget.2:36 build/C/man2/msgop.2:41
+#: build/C/man2/msgctl.2:40 build/C/man2/msgget.2:38 build/C/man2/msgop.2:44
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "書式"
@@ -100,11 +99,11 @@ msgstr "I<-lrt> でリンクする。"
 
 #. type: SH
 #: build/C/man3/mq_close.3:37 build/C/man3/mq_getattr.3:40
-#: build/C/man2/mq_getsetattr.2:37 build/C/man3/mq_notify.3:37
+#: build/C/man2/mq_getsetattr.2:40 build/C/man3/mq_notify.3:37
 #: build/C/man3/mq_open.3:41 build/C/man7/mq_overview.7:29
 #: build/C/man3/mq_receive.3:57 build/C/man3/mq_send.3:57
-#: build/C/man3/mq_unlink.3:37 build/C/man2/msgctl.2:46
-#: build/C/man2/msgget.2:44 build/C/man2/msgop.2:54
+#: build/C/man3/mq_unlink.3:37 build/C/man2/msgctl.2:48
+#: build/C/man2/msgget.2:46 build/C/man2/msgop.2:57
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
@@ -129,10 +128,10 @@ msgstr ""
 
 #. type: SH
 #: build/C/man3/mq_close.3:47 build/C/man3/mq_getattr.3:118
-#: build/C/man3/mq_notify.3:134 build/C/man3/mq_open.3:123
+#: build/C/man3/mq_notify.3:134 build/C/man3/mq_open.3:136
 #: build/C/man3/mq_receive.3:113 build/C/man3/mq_send.3:119
-#: build/C/man3/mq_unlink.3:44 build/C/man2/msgctl.2:224
-#: build/C/man2/msgget.2:135 build/C/man2/msgop.2:285
+#: build/C/man3/mq_unlink.3:44 build/C/man2/msgctl.2:229
+#: build/C/man2/msgget.2:137 build/C/man2/msgop.2:339
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr "返り値"
@@ -148,10 +147,10 @@ msgstr ""
 
 #. type: SH
 #: build/C/man3/mq_close.3:53 build/C/man3/mq_getattr.3:126
-#: build/C/man3/mq_notify.3:140 build/C/man3/mq_open.3:135
+#: build/C/man3/mq_notify.3:140 build/C/man3/mq_open.3:148
 #: build/C/man3/mq_receive.3:122 build/C/man3/mq_send.3:127
-#: build/C/man3/mq_unlink.3:50 build/C/man2/msgctl.2:249
-#: build/C/man2/msgget.2:141 build/C/man2/msgop.2:298
+#: build/C/man3/mq_unlink.3:50 build/C/man2/msgctl.2:254
+#: build/C/man2/msgget.2:143 build/C/man2/msgop.2:352
 #, no-wrap
 msgid "ERRORS"
 msgstr "エラー"
@@ -168,39 +167,60 @@ msgstr "B<EBADF>"
 #: build/C/man3/mq_close.3:59 build/C/man3/mq_getattr.3:132
 #: build/C/man3/mq_notify.3:146
 msgid "The descriptor specified in I<mqdes> is invalid."
-msgstr "I<mqdes> に指定されたディスクリプタが不正である。"
+msgstr "I<mqdes> ã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cä¸\8dæ­£ã\81§ã\81\82ã\82\8bã\80\82"
 
 #. type: SH
 #: build/C/man3/mq_close.3:59 build/C/man3/mq_getattr.3:137
-#: build/C/man2/mq_getsetattr.2:47 build/C/man3/mq_notify.3:174
-#: build/C/man3/mq_open.3:224 build/C/man7/mq_overview.7:263
-#: build/C/man3/mq_receive.3:156 build/C/man3/mq_send.3:161
-#: build/C/man3/mq_unlink.3:62 build/C/man2/msgctl.2:309
-#: build/C/man2/msgget.2:181 build/C/man2/msgop.2:397
+#: build/C/man3/mq_open.3:237 build/C/man3/mq_receive.3:156
+#: build/C/man3/mq_send.3:161 build/C/man3/mq_unlink.3:62
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "属性"
+
+#. type: SS
+#: build/C/man3/mq_close.3:60 build/C/man3/mq_getattr.3:138
+#: build/C/man3/mq_open.3:238 build/C/man3/mq_receive.3:157
+#: build/C/man3/mq_send.3:162 build/C/man3/mq_unlink.3:63
+#, no-wrap
+msgid "Multithreading (see pthreads(7))"
+msgstr "マルチスレッディング (pthreads(7) 参照)"
+
+#. type: Plain text
+#: build/C/man3/mq_close.3:64
+msgid "The B<mq_close>()  function is thread-safe."
+msgstr "関数 B<mq_close>() はスレッドセーフである。"
+
+#. type: SH
+#: build/C/man3/mq_close.3:64 build/C/man3/mq_getattr.3:144
+#: build/C/man2/mq_getsetattr.2:50 build/C/man3/mq_notify.3:174
+#: build/C/man3/mq_open.3:242 build/C/man7/mq_overview.7:351
+#: build/C/man3/mq_receive.3:163 build/C/man3/mq_send.3:168
+#: build/C/man3/mq_unlink.3:67 build/C/man2/msgctl.2:325
+#: build/C/man2/msgget.2:182 build/C/man2/msgop.2:482
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
 
 #. type: Plain text
-#: build/C/man3/mq_close.3:61 build/C/man3/mq_getattr.3:139
-#: build/C/man3/mq_notify.3:176 build/C/man3/mq_open.3:226
-#: build/C/man7/mq_overview.7:265 build/C/man3/mq_receive.3:158
-#: build/C/man3/mq_send.3:163 build/C/man3/mq_unlink.3:64
+#: build/C/man3/mq_close.3:66 build/C/man3/mq_getattr.3:146
+#: build/C/man3/mq_notify.3:176 build/C/man3/mq_open.3:244
+#: build/C/man7/mq_overview.7:353 build/C/man3/mq_receive.3:165
+#: build/C/man3/mq_send.3:170 build/C/man3/mq_unlink.3:69
 msgid "POSIX.1-2001."
 msgstr "POSIX.1-2001."
 
 #. type: SH
-#: build/C/man3/mq_close.3:61 build/C/man3/mq_getattr.3:139
-#: build/C/man2/mq_getsetattr.2:49 build/C/man7/mq_overview.7:265
-#: build/C/man3/mq_receive.3:158 build/C/man3/mq_send.3:163
-#: build/C/man2/msgctl.2:312 build/C/man2/msgget.2:183
-#: build/C/man2/msgop.2:399
+#: build/C/man3/mq_close.3:66 build/C/man3/mq_getattr.3:146
+#: build/C/man2/mq_getsetattr.2:52 build/C/man7/mq_overview.7:353
+#: build/C/man3/mq_receive.3:165 build/C/man3/mq_send.3:170
+#: build/C/man2/msgctl.2:328 build/C/man2/msgget.2:184
+#: build/C/man2/msgop.2:494
 #, no-wrap
 msgid "NOTES"
 msgstr "注意"
 
 #. type: Plain text
-#: build/C/man3/mq_close.3:65
+#: build/C/man3/mq_close.3:70
 msgid ""
 "All open message queues are automatically closed on process termination, or "
 "upon B<execve>(2)."
@@ -209,18 +229,18 @@ msgstr ""
 "ジキューは自動的にクローズされる。"
 
 #. type: SH
-#: build/C/man3/mq_close.3:65 build/C/man3/mq_getattr.3:147
-#: build/C/man2/mq_getsetattr.2:53 build/C/man3/mq_notify.3:243
-#: build/C/man3/mq_open.3:230 build/C/man7/mq_overview.7:281
-#: build/C/man3/mq_receive.3:164 build/C/man3/mq_send.3:169
-#: build/C/man3/mq_unlink.3:64 build/C/man2/msgctl.2:337
-#: build/C/man2/msgget.2:215 build/C/man2/msgop.2:431
+#: build/C/man3/mq_close.3:70 build/C/man3/mq_getattr.3:230
+#: build/C/man2/mq_getsetattr.2:56 build/C/man3/mq_notify.3:243
+#: build/C/man3/mq_open.3:248 build/C/man7/mq_overview.7:378
+#: build/C/man3/mq_receive.3:171 build/C/man3/mq_send.3:176
+#: build/C/man3/mq_unlink.3:69 build/C/man2/msgctl.2:367
+#: build/C/man2/msgget.2:229 build/C/man2/msgop.2:579
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
 
 #. type: Plain text
-#: build/C/man3/mq_close.3:73
+#: build/C/man3/mq_close.3:78
 msgid ""
 "B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_receive>(3), "
 "B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7)"
@@ -229,30 +249,31 @@ msgstr ""
 "B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7)"
 
 #. type: SH
-#: build/C/man3/mq_close.3:73 build/C/man3/mq_getattr.3:155
-#: build/C/man2/mq_getsetattr.2:56 build/C/man3/mq_notify.3:252
-#: build/C/man3/mq_open.3:238 build/C/man7/mq_overview.7:294
-#: build/C/man3/mq_receive.3:173 build/C/man3/mq_send.3:178
-#: build/C/man3/mq_unlink.3:72 build/C/man2/msgctl.2:344
-#: build/C/man2/msgget.2:223 build/C/man2/msgop.2:437
+#: build/C/man3/mq_close.3:78 build/C/man3/mq_getattr.3:238
+#: build/C/man2/mq_getsetattr.2:59 build/C/man3/mq_notify.3:252
+#: build/C/man3/mq_open.3:256 build/C/man7/mq_overview.7:392
+#: build/C/man3/mq_receive.3:180 build/C/man3/mq_send.3:185
+#: build/C/man3/mq_unlink.3:77 build/C/man2/msgctl.2:374
+#: build/C/man2/msgget.2:237 build/C/man2/msgop.2:585
 #, no-wrap
 msgid "COLOPHON"
 msgstr "この文書について"
 
 #. type: Plain text
-#: build/C/man3/mq_close.3:80 build/C/man3/mq_getattr.3:162
-#: build/C/man2/mq_getsetattr.2:63 build/C/man3/mq_notify.3:259
-#: build/C/man3/mq_open.3:245 build/C/man7/mq_overview.7:301
-#: build/C/man3/mq_receive.3:180 build/C/man3/mq_send.3:185
-#: build/C/man3/mq_unlink.3:79 build/C/man2/msgctl.2:351
-#: build/C/man2/msgget.2:230 build/C/man2/msgop.2:444
+#: build/C/man3/mq_close.3:86 build/C/man3/mq_getattr.3:246
+#: build/C/man2/mq_getsetattr.2:67 build/C/man3/mq_notify.3:260
+#: build/C/man3/mq_open.3:264 build/C/man7/mq_overview.7:400
+#: build/C/man3/mq_receive.3:188 build/C/man3/mq_send.3:193
+#: build/C/man3/mq_unlink.3:85 build/C/man2/msgctl.2:382
+#: build/C/man2/msgget.2:245 build/C/man2/msgop.2:593
 msgid ""
-"This page is part of release 3.37 of the Linux I<man-pages> project.  A "
-"description of the project, and information about reporting bugs, can be "
-"found at http://www.kernel.org/doc/man-pages/."
+"This page is part of release 3.79 of the Linux I<man-pages> project.  A "
+"description of the project, information about reporting bugs, and the latest "
+"version of this page, can be found at \\%http://www.kernel.org/doc/man-"
+"pages/."
 msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.37 の一部である。\n"
-"プロジェクトの説明とバグ報告に関する情報は\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.79 の一部\n"
+"ã\81§ã\81\82ã\82\8bã\80\82ã\83\97ã\83­ã\82¸ã\82§ã\82¯ã\83\88ã\81®èª¬æ\98\8eã\81¨ã\83\90ã\82°å ±å\91\8aã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\81¯\n"
 "http://www.kernel.org/doc/man-pages/ に書かれている。"
 
 #. type: TH
@@ -261,6 +282,12 @@ msgstr ""
 msgid "MQ_GETATTR"
 msgstr "MQ_GETATTR"
 
+#. type: TH
+#: build/C/man3/mq_getattr.3:26
+#, no-wrap
+msgid "2014-10-02"
+msgstr "2014-10-02"
+
 #. type: Plain text
 #: build/C/man3/mq_getattr.3:29
 msgid "mq_getattr, mq_setattr - get/set message queue attributes"
@@ -276,10 +303,10 @@ msgstr "B<int mq_getattr(mqd_t >I<mqdes>B<, struct mq_attr *>I<attr>B<);>\n"
 #: build/C/man3/mq_getattr.3:37
 #, no-wrap
 msgid ""
-"B<int mq_setattr(mqd_t >I<mqdes>B<, struct mq_attr *>I<newattr>B<,>\n"
+"B<int mq_setattr(mqd_t >I<mqdes>B<, const struct mq_attr *>I<newattr>B<,>\n"
 "B<                 struct mq_attr *>I<oldattr>B<);>\n"
 msgstr ""
-"B<int mq_setattr(mqd_t >I<mqdes>B<, struct mq_attr *>I<newattr>B<,>\n"
+"B<int mq_setattr(mqd_t >I<mqdes>B<, const struct mq_attr *>I<newattr>B<,>\n"
 "B<                 struct mq_attr *>I<oldattr>B<);>\n"
 
 #. type: Plain text
@@ -297,8 +324,8 @@ msgid ""
 "B<mq_getattr>()  returns an I<mq_attr> structure in the buffer pointed by "
 "I<attr>.  This structure is defined as:"
 msgstr ""
-"B<mq_getattr>()  ã\81¯ã\80\81 I<attr> ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\81« I<mq_attr> æ§\8bé\80 ä½\93ã\82\92æ ¼ç´\8dã\81\97ã\81¦è¿\94"
-"す。この構造体は以下のように定義されている:"
+"B<mq_getattr>()  ã\81¯ã\80\81 I<attr> ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81« I<mq_attr> æ§\8bé\80 ä½\93ã\82\92æ ¼ç´\8dã\81\97ã\81¦"
+"す。この構造体は以下のように定義されている:"
 
 #. type: Plain text
 #: build/C/man3/mq_getattr.3:63
@@ -339,7 +366,7 @@ msgid ""
 "I<mq_msgsize> field is an upper limit on the size of messages that may be "
 "placed on the queue.  Both of these fields must have a value greater than "
 "zero.  Two I</proc> files that place ceilings on the values for these fields "
-"are described in B<mq_open>(3)."
+"are described in B<mq_overview>(7)."
 msgstr ""
 "I<mq_maxmsg> と I<mq_msgsize> フィールドは B<mq_open>(3)  でメッセージキュー"
 "が作成される際にセットされる。 I<mq_maxmsg> フィールドは、 B<mq_send>(3)  を"
@@ -347,7 +374,7 @@ msgstr ""
 "フィールドは、キューに入れることができるメッセージの 上限サイズである。 これ"
 "らのフィールドはどちらも 0 より大きな値でなければならない。 これらのフィール"
 "ドに設定できる値の上限は I</proc> ファイルにより決まる。 I</proc> ファイルの"
-"詳細は B<mq_open>(3)  に説明されている。"
+"詳細は B<mq_overview>(7)  に説明されている。"
 
 #. type: Plain text
 #: build/C/man3/mq_getattr.3:98
@@ -371,9 +398,9 @@ msgstr ""
 "B<mq_setattr>()  は、 I<newattr> が指す I<mq_attr> 構造体で与えられた情報を"
 "使って、メッセージキューの属性を設定する。 変更することができる属性は、 "
 "I<mq_flags> の B<O_NONBLOCK> フラグの設定だけである。 I<newattr> の他のフィー"
-"ルドは無視される。 I<oldattr> フィールドが NULL 以外の場合、 B<mq_getattr>"
-"()  が返すのと同じ情報を格納した I<mq_attr> 構造体を I<oldattr> が指すバッ"
-"ã\83\95ã\82¡に入れて返す。"
+"ルドは無視される。 I<oldattr> フィールドが NULL 以外の場合、 "
+"B<mq_getattr>()  が返すのと同じ情報を格納した I<mq_attr> 構造体を I<oldattr> "
+"ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼に入れて返す。"
 
 #. type: Plain text
 #: build/C/man3/mq_getattr.3:126
@@ -386,9 +413,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man3/mq_getattr.3:132 build/C/man3/mq_notify.3:150
-#: build/C/man3/mq_open.3:156 build/C/man3/mq_receive.3:138
-#: build/C/man3/mq_send.3:143 build/C/man2/msgctl.2:280
-#: build/C/man2/msgop.2:329 build/C/man2/msgop.2:385
+#: build/C/man3/mq_open.3:169 build/C/man3/mq_receive.3:138
+#: build/C/man3/mq_send.3:143 build/C/man2/msgctl.2:285
+#: build/C/man2/msgop.2:383 build/C/man2/msgop.2:439
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr "B<EINVAL>"
@@ -400,7 +427,12 @@ msgstr ""
 "I<newattr-E<gt>mq_flags> に B<O_NONBLOCK> 以外のビットがセットされていた。"
 
 #. type: Plain text
-#: build/C/man3/mq_getattr.3:147
+#: build/C/man3/mq_getattr.3:144
+msgid "The B<mq_getattr>()  and B<mq_setattr>()  functions are thread-safe."
+msgstr "関数 B<mq_getattr>() と B<mq_setattr>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:154
 msgid ""
 "On Linux, B<mq_getattr>()  and B<mq_setattr>()  are library functions "
 "layered on top of the B<mq_getsetattr>(2)  system call."
@@ -408,14 +440,189 @@ msgstr ""
 "Linux では、 B<mq_getattr>()  と B<mq_setattr>()  はライブラリ関数であり、 "
 "B<mq_getsetattr>(2)  システムコールを用いて実装されている。"
 
+#. type: SH
+#: build/C/man3/mq_getattr.3:154 build/C/man3/mq_notify.3:176
+#: build/C/man7/mq_overview.7:366
+#, no-wrap
+msgid "EXAMPLE"
+msgstr "例"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:165
+msgid ""
+"The program below can be used to show the default I<mq_maxmsg> and "
+"I<mq_msgsize> values that are assigned to a message queue that is created "
+"with a call to B<mq_open>(3)  in which the I<attr> argument is NULL.  Here "
+"is an example run of the program:"
+msgstr ""
+"下記のプログラムを使うと、 I<attr> 引き数に NULL を指定して B<mq_open>(3) を"
+"呼び出した際に作成されるメッセージキューに割り当てられるデフォルトの "
+"I<mq_maxmsg> と I<mq_msgsize> の値を表示できる。 このプログラムの実行例を以下"
+"に示す。"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:171
+#, no-wrap
+msgid ""
+"$ B<./a.out /testq>\n"
+"Maximum # of messages on queue:   10\n"
+"Maximum message size:             8192\n"
+msgstr ""
+"$ B<./a.out /testq>\n"
+"Maximum # of messages on queue:   10\n"
+"Maximum message size:             8192\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:179
+msgid ""
+"Since Linux 3.5, the following I</proc> files (described in "
+"B<mq_overview>(7))  can be used to control the defaults:"
+msgstr ""
+"Linux 3.5 以降では、 (B<mq_overview>(7) に説明がある) 以下の I</proc> ファイ"
+"ルを使ってデフォルト値を制御できる。"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:188
+#, no-wrap
+msgid ""
+"$ B<uname -sr>\n"
+"Linux 3.8.0\n"
+"$ B<cat /proc/sys/fs/mqueue/msg_default>\n"
+"10\n"
+"$ B<cat /proc/sys/fs/mqueue/msgsize_default>\n"
+"8192\n"
+msgstr ""
+"$ B<uname -sr>\n"
+"Linux 3.8.0\n"
+"$ B<cat /proc/sys/fs/mqueue/msg_default>\n"
+"10\n"
+"$ B<cat /proc/sys/fs/mqueue/msgsize_default>\n"
+"8192\n"
+
+#. type: SS
+#: build/C/man3/mq_getattr.3:190 build/C/man3/mq_notify.3:182
+#, no-wrap
+msgid "Program source"
+msgstr "プログラムのソース"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:199
+#, no-wrap
+msgid ""
+"#include E<lt>mqueue.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+msgstr ""
+"#include E<lt>mqueue.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:202
+#, no-wrap
+msgid ""
+"#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+"                        } while (0)\n"
+msgstr ""
+"#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+"                        } while (0)\n"
+
 #. type: Plain text
-#: build/C/man3/mq_getattr.3:155
+#: build/C/man3/mq_getattr.3:208
+#, no-wrap
 msgid ""
-"B<mq_close>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_receive>(3), B<mq_send>"
-"(3), B<mq_unlink>(3), B<mq_overview>(7)"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    mqd_t mqd;\n"
+"    struct mq_attr attr;\n"
 msgstr ""
-"B<mq_close>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_receive>(3), B<mq_send>"
-"(3), B<mq_unlink>(3), B<mq_overview>(7)"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    mqd_t mqd;\n"
+"    struct mq_attr attr;\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:213
+#, no-wrap
+msgid ""
+"    if (argc != 2) {\n"
+"        fprintf(stderr, \"Usage: %s mq-name\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if (argc != 2) {\n"
+"        fprintf(stderr, \"Usage: %s mq-name\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:217
+#, no-wrap
+msgid ""
+"    mqd = mq_open(argv[1], O_CREAT | O_EXCL, S_IRUSR | S_IWUSR, NULL);\n"
+"    if (mqd == (mqd_t) -1)\n"
+"        errExit(\"mq_open\");\n"
+msgstr ""
+"    mqd = mq_open(argv[1], O_CREAT | O_EXCL, S_IRUSR | S_IWUSR, NULL);\n"
+"    if (mqd == (mqd_t) -1)\n"
+"        errExit(\"mq_open\");\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:220
+#, no-wrap
+msgid ""
+"    if (mq_getattr(mqd, &attr) == -1)\n"
+"        errExit(\"mq_getattr\");\n"
+msgstr ""
+"    if (mq_getattr(mqd, &attr) == -1)\n"
+"        errExit(\"mq_getattr\");\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:223
+#, no-wrap
+msgid ""
+"    printf(\"Maximum # of messages on queue:   %ld\\en\", attr.mq_maxmsg);\n"
+"    printf(\"Maximum message size:             %ld\\en\", attr.mq_msgsize);\n"
+msgstr ""
+"    printf(\"Maximum # of messages on queue:   %ld\\en\", attr.mq_maxmsg);\n"
+"    printf(\"Maximum message size:             %ld\\en\", attr.mq_msgsize);\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:226
+#, no-wrap
+msgid ""
+"    if (mq_unlink(argv[1]) == -1)\n"
+"        errExit(\"mq_unlink\");\n"
+msgstr ""
+"    if (mq_unlink(argv[1]) == -1)\n"
+"        errExit(\"mq_unlink\");\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:229
+#, no-wrap
+msgid ""
+"    exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+"    exit(EXIT_SUCCESS);\n"
+"}\n"
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:238
+msgid ""
+"B<mq_close>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_receive>(3), "
+"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7)"
+msgstr ""
+"B<mq_close>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_receive>(3), "
+"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7)"
 
 #. type: TH
 #: build/C/man2/mq_getsetattr.2:26
@@ -423,6 +630,12 @@ msgstr ""
 msgid "MQ_GETSETATTR"
 msgstr "MQ_GETSETATTR"
 
+#. type: TH
+#: build/C/man2/mq_getsetattr.2:26
+#, no-wrap
+msgid "2012-07-13"
+msgstr "2012-07-13"
+
 #. type: Plain text
 #: build/C/man2/mq_getsetattr.2:29
 msgid "mq_getsetattr - get/set message queue attributes"
@@ -449,12 +662,19 @@ msgstr ""
 "B<                 struct mq_attr *>I<oldattr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/mq_getsetattr.2:39
+#: build/C/man2/mq_getsetattr.2:40
+msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
+msgstr ""
+"I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
+"を参照。"
+
+#. type: Plain text
+#: build/C/man2/mq_getsetattr.2:42
 msgid "Do not use this system call."
 msgstr "このシステムコールを使用しないこと。"
 
 #. type: Plain text
-#: build/C/man2/mq_getsetattr.2:47
+#: build/C/man2/mq_getsetattr.2:50
 msgid ""
 "This is the low-level system call used to implement B<mq_getattr>(3)  and "
 "B<mq_setattr>(3).  For an explanation of how this system call operates, see "
@@ -465,22 +685,22 @@ msgstr ""
 "の説明を参照のこと。"
 
 #. type: Plain text
-#: build/C/man2/mq_getsetattr.2:49
+#: build/C/man2/mq_getsetattr.2:52
 msgid "This interface is nonstandard; avoid its use."
-msgstr "このインタフェースは非標準である。使用を避けること。"
+msgstr "ã\81\93ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81¯é\9d\9eæ¨\99æº\96ã\81§ã\81\82ã\82\8bã\80\82使ç\94¨ã\82\92é\81¿ã\81\91ã\82\8bã\81\93ã\81¨ã\80\82"
 
 #. type: Plain text
-#: build/C/man2/mq_getsetattr.2:53
+#: build/C/man2/mq_getsetattr.2:56
 msgid ""
 "Glibc does not provide a wrapper for this system call; call it using "
 "B<syscall>(2).  (Actually, never call it unless you are writing a C library!)"
 msgstr ""
-"glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
-"(2)  を使って呼び出すこと。 (実のところ、C ライブラリを書いているのでない限"
-"り、 決してこのシステムコールを呼び出さないこと!)"
+"glibc はこのシステムコールに対するラッパー関数を提供していない。 "
+"B<syscall>(2)  を使って呼び出すこと。 (実のところ、C ライブラリを書いているの"
+"ã\81§ã\81ªã\81\84é\99\90ã\82\8aã\80\81 æ±ºã\81\97ã\81¦ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82\92å\91¼ã\81³å\87ºã\81\95ã\81ªã\81\84ã\81\93ã\81¨!)"
 
 #. type: Plain text
-#: build/C/man2/mq_getsetattr.2:56
+#: build/C/man2/mq_getsetattr.2:59
 msgid "B<mq_getattr>(3), B<mq_overview>(7)"
 msgstr "B<mq_getattr>(3), B<mq_overview>(7)"
 
@@ -493,8 +713,8 @@ msgstr "MQ_NOTIFY"
 #. type: TH
 #: build/C/man3/mq_notify.3:26
 #, no-wrap
-msgid "2010-10-04"
-msgstr "2010-10-04"
+msgid "2014-04-06"
+msgstr "2014-04-06"
 
 #. type: Plain text
 #: build/C/man3/mq_notify.3:29
@@ -514,9 +734,9 @@ msgid ""
 "delivery of an asynchronous notification when a new message arrives on the "
 "empty message queue referred to by the descriptor I<mqdes>."
 msgstr ""
-"B<mq_notify>()  を使うと、ディスクリプタ I<mqdes> で参照される空のメッセージ"
-"ã\82­ã\83¥ã\83¼ã\81«æ\96°ã\81\97ã\81\8fã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81\8cå\88°ç\9d\80ã\81\97ã\81\9fæ\99\82ã\81« é\9d\9eå\90\8cæ\9c\9fã\81®é\80\9aç\9f¥ (notification) ã\81®é\85\8dé\80\81ã\81\8cè¡\8c"
-"われるように登録したり、 その解除を行ったりできる。"
+"B<mq_notify>()  を使うと、ディスクリプター I<mqdes> で参照される空のメッセー"
+"ã\82¸ã\82­ã\83¥ã\83¼ã\81«æ\96°ã\81\97ã\81\8fã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81\8cå\88°ç\9d\80ã\81\97ã\81\9fæ\99\82ã\81« é\9d\9eå\90\8cæ\9c\9fã\81®é\80\9aç\9f¥ (notification) ã\81®é\85\8dé\80\81ã\81\8c"
+"われるように登録したり、 その解除を行ったりできる。"
 
 #. type: Plain text
 #: build/C/man3/mq_notify.3:51
@@ -524,21 +744,21 @@ msgid ""
 "The I<sevp> argument is a pointer to a I<sigevent> structure.  For the "
 "definition and general details of this structure, see B<sigevent>(7)."
 msgstr ""
-"I<sevp> å¼\95ã\81\8dæ\95°ã\81¯ I<sigevent> æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®æ§\8bé\80 ä½\93ã\81®å®\9a義ã\81¨ä¸\80"
-"般的な詳細については B<sigevent>(7)  を参照。"
+"I<sevp> å¼\95ã\81\8dæ\95°ã\81¯ I<sigevent> æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®æ§\8bé\80 ä½\93ã\81®å®\9a義ã\81¨"
+"般的な詳細については B<sigevent>(7)  を参照。"
 
 #. type: Plain text
 #: build/C/man3/mq_notify.3:65
 msgid ""
-"If I<sevp> is a non-NULL pointer, then B<mq_notify>()  registers the calling "
+"If I<sevp> is a non-null pointer, then B<mq_notify>()  registers the calling "
 "process to receive message notification.  The I<sigev_notify> field of the "
 "I<sigevent> structure to which I<sevp> points specifies how notification is "
 "to be performed.  This field has one of the following values:"
 msgstr ""
-"I<sevp> ã\81\8c NULL ã\81§ã\81ªã\81\84ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\81\82ã\82\8cã\81°ã\80\81 B<mq_notify>()  ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸é\80\9aç\9f¥ã\82\92å\8f\97"
-"け取るように呼び出し元のプロセスを登録する。 I<sevp> が指す I<sigevent> 構造"
-"体の I<sigev_notify> フィールドは、どのような通知を行うのかを指定する。 この"
-"フィールドは以下の値のいずれかを持つ。"
+"I<sevp> ã\81\8c NULL ã\81§ã\81ªã\81\84ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81\82ã\82\8cã\81°ã\80\81 B<mq_notify>()  ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸é\80\9aç\9f¥ã\82\92"
+"受け取るように呼び出し元のプロセスを登録する。 I<sevp> が指す I<sigevent> 構"
+"造体の I<sigev_notify> フィールドは、どのような通知を行うのかを指定する。 こ"
+"ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ä»¥ä¸\8bã\81®å\80¤ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\82\92æ\8c\81ã\81¤ã\80\82"
 
 #. type: TP
 #: build/C/man3/mq_notify.3:65
@@ -576,7 +796,8 @@ msgstr ""
 "I<sigev_signo> で指定されたシグナルを送って、プロセスに通知する。 一般的な詳"
 "細については B<sigevent>(7)  を参照。 I<siginfo_t> 構造体の I<si_code> フィー"
 "ルドには B<SI_MESGQ> が設定される。 さらに、 I<si_pid> にはメッセージを送信し"
-"たプロセスの PID が、 I<si_uid> には送信プロセスの実ユーザ ID が設定される。"
+"たプロセスの PID が、 I<si_uid> には送信プロセスの実ユーザー ID が設定され"
+"る。"
 
 #. type: TP
 #: build/C/man3/mq_notify.3:90
@@ -617,10 +838,10 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/mq_notify.3:115
 msgid ""
-"Message notification only occurs when a new message arrives and the queue "
-"was previously empty.  If the queue was not empty at the time B<mq_notify>"
-"()  was called, then a notification will only occur after the queue is "
-"emptied and a new message arrives."
+"Message notification occurs only when a new message arrives and the queue "
+"was previously empty.  If the queue was not empty at the time "
+"B<mq_notify>()  was called, then a notification will occur only after the "
+"queue is emptied and a new message arrives."
 msgstr ""
 "メッセージ通知は、それまで空のキューに新しいメッセージが到着した 場合にのみ行"
 "われる。 B<mq_notify>()  が呼び出された時にそのキューが空でない場合、 その"
@@ -696,16 +917,16 @@ msgstr ""
 "シグナル番号ではない。"
 
 #. type: TP
-#: build/C/man3/mq_notify.3:160 build/C/man3/mq_open.3:214
-#: build/C/man2/msgget.2:171 build/C/man2/msgop.2:340
+#: build/C/man3/mq_notify.3:160 build/C/man3/mq_open.3:227
+#: build/C/man2/msgget.2:172 build/C/man2/msgop.2:394
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr "B<ENOMEM>"
 
 #. type: Plain text
-#: build/C/man3/mq_notify.3:163 build/C/man3/mq_open.3:217
+#: build/C/man3/mq_notify.3:163 build/C/man3/mq_open.3:230
 msgid "Insufficient memory."
-msgstr "十分なメモリがない。"
+msgstr "å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\81ªã\81\84ã\80\82"
 
 #.  Linux does not do this
 #. type: Plain text
@@ -719,12 +940,6 @@ msgstr ""
 "I<mqdes> に関する通知を受信するように登録されていない場合、エラー B<EINVAL> "
 "を生成するような実装を行っても「よい」ことになっている。"
 
-#. type: SH
-#: build/C/man3/mq_notify.3:176 build/C/man7/mq_overview.7:278
-#, no-wrap
-msgid "EXAMPLE"
-msgstr "例"
-
 #. type: Plain text
 #: build/C/man3/mq_notify.3:182
 msgid ""
@@ -790,7 +1005,7 @@ msgstr ""
 msgid "    /* Determine max. msg size; allocate buffer to receive msg */\n"
 msgstr ""
 "    /* 最大メッセージサイズを決定し、\n"
-"       メッセージ受信用のバッファを確保する */\n"
+"       ã\83¡ã\83\83ã\82»ã\83¼ã\82¸å\8f\97ä¿¡ç\94¨ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\92確ä¿\9dã\81\99ã\82\8b */\n"
 
 #. type: Plain text
 #: build/C/man3/mq_notify.3:208
@@ -824,12 +1039,12 @@ msgstr ""
 #: build/C/man3/mq_notify.3:217
 #, no-wrap
 msgid ""
-"    printf(\"Read %ld bytes from MQ\\en\", (long) nr);\n"
+"    printf(\"Read %zd bytes from MQ\\en\", nr);\n"
 "    free(buf);\n"
 "    exit(EXIT_SUCCESS);         /* Terminate the process */\n"
 "}\n"
 msgstr ""
-"    printf(\"Read %ld bytes from MQ\\en\", (long) nr);\n"
+"    printf(\"Read %zd bytes from MQ\\en\", nr);\n"
 "    free(buf);\n"
 "    exit(EXIT_SUCCESS);         /* プロセスを終了する */\n"
 "}\n"
@@ -855,13 +1070,13 @@ msgstr ""
 #, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>mq-nameE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+"        fprintf(stderr, \"Usage: %s E<lt>mq-nameE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
 "    if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>mq-nameE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+"        fprintf(stderr, \"Usage: %s E<lt>mq-nameE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
@@ -907,11 +1122,11 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/mq_notify.3:252
 msgid ""
-"B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), B<mq_send>"
-"(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(7)"
+"B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), "
+"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(7)"
 msgstr ""
-"B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), B<mq_send>"
-"(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(7)"
+"B<mq_close>(3), B<mq_getattr>(3), B<mq_open>(3), B<mq_receive>(3), "
+"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<sigevent>(7)"
 
 #. type: TH
 #: build/C/man3/mq_open.3:26
@@ -922,8 +1137,8 @@ msgstr "MQ_OPEN"
 #. type: TH
 #: build/C/man3/mq_open.3:26
 #, no-wrap
-msgid "2009-02-20"
-msgstr "2009-02-20"
+msgid "2014-12-31"
+msgstr "2014-12-31"
 
 #. type: Plain text
 #: build/C/man3/mq_open.3:29
@@ -1021,29 +1236,28 @@ msgstr ""
 #. type: TP
 #: build/C/man3/mq_open.3:72
 #, no-wrap
-msgid "B<O_NONBLOCK>"
-msgstr "B<O_NONBLOCK>"
+msgid "B<O_CLOEXEC> (since Linux 2.6.26)"
+msgstr "B<O_CLOEXEC> (Linux 2.6.26 以降)"
 
+#.  commit 269f21344b23e552c21c9e2d7ca258479dcd7a0a
 #. type: Plain text
-#: build/C/man3/mq_open.3:81
+#: build/C/man3/mq_open.3:79
 msgid ""
-"Open the queue in nonblocking mode.  In circumstances where B<mq_receive>"
-"(3)  and B<mq_send>(3)  would normally block, these functions instead fail "
-"with the error B<EAGAIN>."
+"Set the close-on-exec flag for the message queue descriptor.  See "
+"B<open>(2)  for a discussion of why this flag is useful."
 msgstr ""
-"非停止 (nonblocking) モードでキューをオープンする。 B<mq_receive>(3)  と "
-"B<mq_send>(3)  は、通常は停止 (block) する状況において、エラー B<EAGAIN> で失"
-"敗するようになる。"
+"メッセージキュー記述子に close-on-exec フラグをセットする。 なぜこのフラグが"
+"有用かについての議論は B<open>(2) を参照。"
 
 #. type: TP
-#: build/C/man3/mq_open.3:81
+#: build/C/man3/mq_open.3:79
 #, no-wrap
 msgid "B<O_CREAT>"
 msgstr "B<O_CREAT>"
 
-#.  In reality the file system IDs are used on Linux.
+#.  In reality the filesystem IDs are used on Linux.
 #. type: Plain text
-#: build/C/man3/mq_open.3:89
+#: build/C/man3/mq_open.3:87
 msgid ""
 "Create the message queue if it does not exist.  The owner (user ID) of the "
 "message queue is set to the effective user ID of the calling process.  The "
@@ -1051,17 +1265,17 @@ msgid ""
 "process."
 msgstr ""
 "存在しない場合、メッセージキューを作成する。 メッセージキューの所有者 (ユー"
-"ザ ID) とグループ所有権 (グループ ID) は、 それぞれ呼び出し元プロセスの実効"
-"ユーザ ID と実効グループ ID に設定される。"
+"ザ ID) とグループ所有権 (グループ ID) は、 それぞれ呼び出し元プロセスの実効"
+"ユーザ ID と実効グループ ID に設定される。"
 
 #. type: TP
-#: build/C/man3/mq_open.3:89
+#: build/C/man3/mq_open.3:87
 #, no-wrap
 msgid "B<O_EXCL>"
 msgstr "B<O_EXCL>"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:99
+#: build/C/man3/mq_open.3:97
 msgid ""
 "If B<O_CREAT> was specified in I<oflag>, and a queue with the given I<name> "
 "already exists, then fail with the error B<EEXIST>."
@@ -1069,28 +1283,54 @@ msgstr ""
 "B<O_CREAT> が I<oflag> に指定され、かつ指定された名前 I<name> を持つキューが"
 "すでに存在する場合、エラー B<EEXIST> で失敗する。"
 
+#. type: TP
+#: build/C/man3/mq_open.3:97
+#, no-wrap
+msgid "B<O_NONBLOCK>"
+msgstr "B<O_NONBLOCK>"
+
+#. type: Plain text
+#: build/C/man3/mq_open.3:106
+msgid ""
+"Open the queue in nonblocking mode.  In circumstances where "
+"B<mq_receive>(3)  and B<mq_send>(3)  would normally block, these functions "
+"instead fail with the error B<EAGAIN>."
+msgstr ""
+"非停止 (nonblocking) モードでキューをオープンする。 B<mq_receive>(3)  と "
+"B<mq_send>(3)  は、通常は停止 (block) する状況において、エラー B<EAGAIN> で失"
+"敗するようになる。"
+
 #. type: Plain text
-#: build/C/man3/mq_open.3:123
+#: build/C/man3/mq_open.3:120
 msgid ""
 "If B<O_CREAT> is specified in I<oflag>, then two additional arguments must "
 "be supplied.  The I<mode> argument specifies the permissions to be placed on "
 "the new queue, as for B<open>(2).  (Symbolic definitions for the permissions "
 "bits can be obtained by including I<E<lt>sys/stat.hE<gt>>.)  The permissions "
-"settings are masked against the process umask.  The I<attr> argument "
-"specifies attributes for the queue.  See B<mq_getattr>(3)  for details.  If "
-"I<attr> is NULL, then the queue is created with implementation-defined "
-"default attributes."
+"settings are masked against the process umask."
 msgstr ""
 "I<oflag> に B<O_CREAT> を指定する場合、追加で 2つの引き数を与える必要があ"
 "る。 I<mode> 引き数は、新しいキューに適用される許可設定 (permission) を、 "
 "B<open>(2)  と同じように指定する (許可ビットのシンボル定義は I<E<lt>sys/stat."
 "hE<gt>> のインクルードにより得られる)。 許可設定はプロセスの umask でマスクさ"
-"れる。 I<attr> 引き数は、キューの属性を指定する。詳細は、 B<mq_getattr>(3)  "
-"を参照。 I<attr> が NULL の場合、キューは実装で定義されたデフォルト属性で作成"
-"される。"
+"れる。"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:135
+#: build/C/man3/mq_open.3:136
+msgid ""
+"The I<attr> argument specifies attributes for the queue.  See "
+"B<mq_getattr>(3)  for details.  If I<attr> is NULL, then the queue is "
+"created with implementation-defined default attributes.  Since Linux 3.5, "
+"two I</proc> files can be used to control these defaults; see "
+"B<mq_overview>(7)  for details."
+msgstr ""
+"I<attr> 引き数は、キューの属性を指定する。詳細は、 B<mq_getattr>(3)  を参"
+"照。 I<attr> が NULL の場合、キューは実装で定義されたデフォルト属性で作成され"
+"る。 Linux 3.5 以降では、2 つの I</proc> ファイルがあり、これらのデフォルト値"
+"を制御できる。 詳細は B<mq_overview>(7) を参照。"
+
+#. type: Plain text
+#: build/C/man3/mq_open.3:148
 msgid ""
 "On success, B<mq_open>()  returns a message queue descriptor for use by "
 "other message queue functions.  On error, B<mq_open>()  returns I<(mqd_t)\\ "
@@ -1102,15 +1342,15 @@ msgstr ""
 "I<errno> にエラーを示す値を設定する。"
 
 #. type: TP
-#: build/C/man3/mq_open.3:136 build/C/man3/mq_open.3:140
-#: build/C/man3/mq_unlink.3:51 build/C/man2/msgctl.2:253
-#: build/C/man2/msgget.2:145 build/C/man2/msgop.2:304 build/C/man2/msgop.2:359
+#: build/C/man3/mq_open.3:149 build/C/man3/mq_open.3:153
+#: build/C/man3/mq_unlink.3:51 build/C/man2/msgctl.2:258
+#: build/C/man2/msgget.2:147 build/C/man2/msgop.2:358 build/C/man2/msgop.2:413
 #, no-wrap
 msgid "B<EACCES>"
 msgstr "B<EACCES>"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:140
+#: build/C/man3/mq_open.3:153
 msgid ""
 "The queue exists, but the caller does not have permission to open it in the "
 "specified mode."
@@ -1120,18 +1360,18 @@ msgstr ""
 
 #.  Note that this isn't consistent with the same case for sem_open()
 #. type: Plain text
-#: build/C/man3/mq_open.3:145
+#: build/C/man3/mq_open.3:158
 msgid "I<name> contained more than one slash."
 msgstr "I<name> にスラッシュが 2 個以上含まれていた。"
 
 #. type: TP
-#: build/C/man3/mq_open.3:145 build/C/man2/msgget.2:153
+#: build/C/man3/mq_open.3:158 build/C/man2/msgget.2:155
 #, no-wrap
 msgid "B<EEXIST>"
 msgstr "B<EEXIST>"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:156
+#: build/C/man3/mq_open.3:169
 msgid ""
 "Both B<O_CREAT> and B<O_EXCL> were specified in I<oflag>, but a queue with "
 "this I<name> already exists."
@@ -1140,7 +1380,7 @@ msgstr ""
 "I<name> を持つキューがすでに存在する。"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:188
+#: build/C/man3/mq_open.3:201
 msgid ""
 "B<O_CREAT> was specified in I<oflag>, and I<attr> was not NULL, but I<attr-"
 "E<gt>mq_maxmsg> or I<attr-E<gt>mq_msqsize> was invalid.  Both of these "
@@ -1161,13 +1401,13 @@ msgstr ""
 "B<mq_overview>(7)  を参照。)"
 
 #. type: TP
-#: build/C/man3/mq_open.3:188
+#: build/C/man3/mq_open.3:201
 #, no-wrap
 msgid "B<EMFILE>"
 msgstr "B<EMFILE>"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:192
+#: build/C/man3/mq_open.3:205
 msgid ""
 "The process already has the maximum number of files and message queues open."
 msgstr ""
@@ -1175,24 +1415,24 @@ msgstr ""
 "限に達している。"
 
 #. type: TP
-#: build/C/man3/mq_open.3:192 build/C/man3/mq_unlink.3:54
+#: build/C/man3/mq_open.3:205 build/C/man3/mq_unlink.3:54
 #, no-wrap
 msgid "B<ENAMETOOLONG>"
 msgstr "B<ENAMETOOLONG>"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:196 build/C/man3/mq_unlink.3:58
+#: build/C/man3/mq_open.3:209 build/C/man3/mq_unlink.3:58
 msgid "I<name> was too long."
 msgstr "I<name> が長過ぎる。"
 
 #. type: TP
-#: build/C/man3/mq_open.3:196
+#: build/C/man3/mq_open.3:209
 #, no-wrap
 msgid "B<ENFILE>"
 msgstr "B<ENFILE>"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:200
+#: build/C/man3/mq_open.3:213
 msgid ""
 "The system limit on the total number of open files and message queues has "
 "been reached."
@@ -1201,14 +1441,14 @@ msgstr ""
 "限に達している。"
 
 #. type: TP
-#: build/C/man3/mq_open.3:200 build/C/man3/mq_open.3:209
-#: build/C/man3/mq_unlink.3:58 build/C/man2/msgget.2:163
+#: build/C/man3/mq_open.3:213 build/C/man3/mq_open.3:222
+#: build/C/man3/mq_unlink.3:58 build/C/man2/msgget.2:164
 #, no-wrap
 msgid "B<ENOENT>"
 msgstr "B<ENOENT>"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:209
+#: build/C/man3/mq_open.3:222
 msgid ""
 "The B<O_CREAT> flag was not specified in I<oflag>, and no queue with this "
 "I<name> exists."
@@ -1218,35 +1458,41 @@ msgstr ""
 
 #.  Note that this isn't consistent with the same case for sem_open()
 #. type: Plain text
-#: build/C/man3/mq_open.3:214
+#: build/C/man3/mq_open.3:227
 msgid "I<name> was just \"/\" followed by no other characters."
 msgstr "I<name> が \"/\" だけで、その後ろに他の文字が続いていなかった。"
 
 #. type: TP
-#: build/C/man3/mq_open.3:217 build/C/man2/msgget.2:175
+#: build/C/man3/mq_open.3:230 build/C/man2/msgget.2:176
 #, no-wrap
 msgid "B<ENOSPC>"
 msgstr "B<ENOSPC>"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:224
+#: build/C/man3/mq_open.3:237
 msgid ""
 "Insufficient space for the creation of a new message queue.  This probably "
-"occurred because the I<queues_max> limit was encountered; see B<mq_overview>"
-"(7)."
+"occurred because the I<queues_max> limit was encountered; see "
+"B<mq_overview>(7)."
 msgstr ""
 "新しいメッセージキューを作成するのに十分な空間がない。 このエラーはおそらく "
 "I<queues_max> 上限に抵触したため起こったのだろう。 B<mq_overview>(7)  を参"
 "照。"
 
+#. type: Plain text
+#: build/C/man3/mq_open.3:242
+msgid "The B<mq_open>()  function is thread-safe."
+msgstr "関数 B<mq_open>() はスレッドセーフである。"
+
 #. type: SH
-#: build/C/man3/mq_open.3:226 build/C/man2/msgget.2:209
+#: build/C/man3/mq_open.3:244 build/C/man7/mq_overview.7:369
+#: build/C/man2/msgget.2:223 build/C/man2/msgop.2:543
 #, no-wrap
 msgid "BUGS"
 msgstr "バグ"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:230
+#: build/C/man3/mq_open.3:248
 msgid ""
 "In kernels before 2.6.14, the process umask was not applied to the "
 "permissions specified in I<mode>."
@@ -1255,7 +1501,7 @@ msgstr ""
 "定に適用されなかった。"
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:238
+#: build/C/man3/mq_open.3:256
 msgid ""
 "B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_receive>(3), "
 "B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7)"
@@ -1272,12 +1518,12 @@ msgstr "MQ_OVERVIEW"
 #. type: TH
 #: build/C/man7/mq_overview.7:26
 #, no-wrap
-msgid "2009-09-27"
-msgstr "2009-09-27"
+msgid "2014-09-21"
+msgstr "2014-09-21"
 
 #. type: Plain text
 #: build/C/man7/mq_overview.7:29
-msgid "mq_overview - Overview of POSIX message queues"
+msgid "mq_overview - overview of POSIX message queues"
 msgstr "mq_overview - POSIX メッセージキューの概要"
 
 #. type: Plain text
@@ -1308,10 +1554,10 @@ msgstr ""
 "メッセージキュー記述子 (message queue descriptor)> (I<mqd_t>)  を返す。これ以"
 "降のコールでは、オープンされたメッセージキューは I<メッセージキュー記述子> を"
 "使って参照される。 各メッセージキューは I</somename> の形の名前で区別すること"
-"ができる。 その名前は、最大で B<NAME_MAX> (すなわち 255) 文字の NULL 終端され"
-"た文字列で、 スラッシュで始まり、スラッシュ以外の文字が 1 文字以上続く形式で"
-"ã\81\82ã\82\8bã\80\82 B<mq_open>(3)  ã\81«å\90\8cã\81\98å\90\8då\89\8dã\82\92渡ã\81\99ã\81\93ã\81¨ã\81§ã\80\81\81¤ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81§å\90\8cä¸\80ã\81®ã\82­ã\83¥ã\83¼ã\82\92 "
-"作することができる。"
+"ができる。 その名前は、最大で B<NAME_MAX> (すなわち 255) 文字のヌル終端された"
+"文字列で、 スラッシュで始まり、スラッシュ以外の文字が 1 文字以上続く形式であ"
+"ã\82\8bã\80\82 B<mq_open>(3)  ã\81«å\90\8cã\81\98å\90\8då\89\8dã\82\92渡ã\81\99ã\81\93ã\81¨ã\81§ã\80\81\81¤ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81§å\90\8cä¸\80ã\81®ã\82­ã\83¥ã\83¼ã\82\92 æ\93\8d"
+"作することができる。"
 
 #. type: Plain text
 #: build/C/man7/mq_overview.7:68
@@ -1356,15 +1602,16 @@ msgid ""
 "delivered to the receiving process highest priority first.  Message "
 "priorities range from 0 (low) to I<sysconf(_SC_MQ_PRIO_MAX)\\ -\\ 1> "
 "(high).  On Linux, I<sysconf(_SC_MQ_PRIO_MAX)> returns 32768, but "
-"POSIX.1-2001 only requires an implementation to support priorities in the "
-"range 0 to 31; some implementations only provide this range."
+"POSIX.1-2001 requires only that an implementation support at least "
+"priorities in the range 0 to 31; some implementations provide only this "
+"range."
 msgstr ""
 "各メッセージにはそれぞれ I<優先度 (priority)> があり、メッセージの受信プロセ"
 "スへの配送は常に 優先度の高いメッセージから順に行われる。 メッセージの優先度"
 "は 0 (低優先) から I<sysconf(_SC_MQ_PRIO_MAX)\\ -\\ 1> (高優先) の値を持つ。 "
 "Linux では、 I<sysconf(_SC_MQ_PRIO_MAX)> は 32768 を返すが、 POSIX.1-2001 で"
-"要求されているのは 0 から 31 までの優先度を 実装することだけであり、実装に"
-"ã\82\88ã\81£ã\81¦ã\81¯ã\81\93ã\81®ç¯\84å\9b²ã\81®å\84ªå\85\88度ã\81\97ã\81\8b å¯¾å¿\9cã\81\97ていない。"
+"要求されているのは最低限 0 から 31 までの優先度を実装することだけであり、実装"
+"ã\81«ã\82\88ã\81£ã\81¦ã\81¯ã\81\93ã\81®ç¯\84å\9b²ã\81®å\84ªå\85\88度ã\81\97ã\81\8bã\82µã\83\9dã\83¼ã\83\88ã\81\95ã\82\8cていない。"
 
 #. type: Plain text
 #: build/C/man7/mq_overview.7:97
@@ -1379,18 +1626,18 @@ msgstr ""
 #: build/C/man7/mq_overview.7:97
 #, no-wrap
 msgid "Library interfaces and system calls"
-msgstr "ライブラリインタフェースとシステムコール"
+msgstr "ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81¨ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«"
 
 #. type: Plain text
 #: build/C/man7/mq_overview.7:103
 msgid ""
-"In most cases the B<mq_*()> library interfaces listed above are implemented "
+"In most cases the B<mq_*>()  library interfaces listed above are implemented "
 "on top of underlying system calls of the same name.  Deviations from this "
 "scheme are indicated in the following table:"
 msgstr ""
-"ほとんどの場合、上記の B<mq_*()> ライブラリインタフェースは、同じ名前の下位層"
-"のシステムコールを 使って実装されている。この枠組みにあてはまらないものを 以"
-"下の表に示す。"
+"ほとんどの場合、上記の B<mq_*>() ライブラリインターフェースは、同じ名前の下位"
+"層のシステムコールを 使って実装されている。この枠組みにあてはまらないものを "
+"以ä¸\8bã\81®è¡¨ã\81«ç¤ºã\81\99ã\80\82"
 
 #. type: tbl table
 #: build/C/man7/mq_overview.7:107
@@ -1499,8 +1746,8 @@ msgstr "持続性"
 #. type: Plain text
 #: build/C/man7/mq_overview.7:133
 msgid ""
-"POSIX message queues have kernel persistence: if not removed by B<mq_unlink>"
-"(3), a message queue will exist until the system is shut down."
+"POSIX message queues have kernel persistence: if not removed by "
+"B<mq_unlink>(3), a message queue will exist until the system is shut down."
 msgstr ""
 "POSIX メッセージキューはカーネル内で保持される。 B<mq_unlink>(3)  で削除され"
 "なければ、メッセージキューは システムがシャットダウンされるまで存在し続ける。"
@@ -1524,125 +1771,233 @@ msgstr ""
 #: build/C/man7/mq_overview.7:138
 #, no-wrap
 msgid "/proc interfaces"
-msgstr "/proc インタフェース"
+msgstr "/proc ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:141
+#: build/C/man7/mq_overview.7:142
 msgid ""
 "The following interfaces can be used to limit the amount of kernel memory "
-"consumed by POSIX message queues:"
+"consumed by POSIX message queues and to set the default attributes for new "
+"message queues:"
+msgstr ""
+"以下のインターフェースを使って、 POSIX メッセージキューが消費するカーネル メ"
+"モリーの量を制限したり、 新規のメッセージキューのデフォルト属性を設定したりす"
+"ることができる。"
+
+#. type: TP
+#: build/C/man7/mq_overview.7:142
+#, no-wrap
+msgid "I</proc/sys/fs/mqueue/msg_default> (since Linux 3.5)"
+msgstr "I</proc/sys/fs/mqueue/msg_default> (Linux 3.5 以降)"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:166
+msgid ""
+"This file defines the value used for a new queue's I<mq_maxmsg> setting when "
+"the queue is created with a call to B<mq_open>(3)  where I<attr> is "
+"specified as NULL.  The default value for this file is 10.  The minimum and "
+"maximum are as for I</proc/sys/fs/mqueue/msg_max>.  A new queue's default "
+"I<mq_maxmsg> value will be the smaller of I<msg_default> and I<msg_max>.  Up "
+"until Linux 2.6.28, the default I<mq_maxmsg> was 10; from Linux 2.6.28 to "
+"Linux 3.4, the default was the value defined for the I<msg_max> limit."
 msgstr ""
-"以下のインタフェースを使って、POSIX メッセージキューが消費するカーネル メモリ"
-"の量を制限することができる。"
+"このファイルは、I<attr> に NULL を指定して B<mq_open>(3) を呼び出してキューが"
+"作成された際に、 その新規キューの I<mq_maxmsg> 設定に使用される値を定めてい"
+"る。 このファイルのデフォルト値は 10 である。 最小値と最大値は I</proc/sys/"
+"fs/mqueue/msg_max> と同様である。 新規キューのデフォルトの I<mq_maxmsg> 値は "
+"I<msg_default> と I<msg_max> の小さい方となる。 Linux 2.6.28 より前は、デフォ"
+"ルトの I<mq_maxmsg> は 10 であった。 Linux 2.6.28 から Linux 3.4 までは、 デ"
+"フォルト値は I<msg_max> 上限で規定される値であった。"
 
 #. type: TP
-#: build/C/man7/mq_overview.7:141
+#: build/C/man7/mq_overview.7:166
 #, no-wrap
 msgid "I</proc/sys/fs/mqueue/msg_max>"
 msgstr "I</proc/sys/fs/mqueue/msg_max>"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:162
+#: build/C/man7/mq_overview.7:187
 msgid ""
 "This file can be used to view and change the ceiling value for the maximum "
 "number of messages in a queue.  This value acts as a ceiling on the I<attr-"
 "E<gt>mq_maxmsg> argument given to B<mq_open>(3).  The default value for "
 "I<msg_max> is 10.  The minimum value is 1 (10 in kernels before 2.6.28).  "
-"The upper limit is B<HARD_MAX>: I<(131072\\ /\\ sizeof(void\\ *))> (32768 on "
-"Linux/86).  This limit is ignored for privileged processes "
-"(B<CAP_SYS_RESOURCE>), but the B<HARD_MAX> ceiling is nevertheless imposed."
+"The upper limit is B<HARD_MSGMAX>.  The I<msg_max> limit is ignored for "
+"privileged processes (B<CAP_SYS_RESOURCE>), but the B<HARD_MSGMAX> ceiling "
+"is nevertheless imposed."
 msgstr ""
 "このファイルを使って、一つのキューに入れられるメッセージの最大数の 上限値を参"
 "照したり変更したりできる。この値は、 B<mq_open>(3)  に渡す I<attr-"
 "E<gt>mq_maxmsg> 引き数に対する上限値として機能する。 I<msg_max> のデフォルト"
-"値は 10 で、 最小値は 1 (2.6.28 より前のカーネルでは 10) である。 上限は「埋"
-"め込みの固定値」 (B<HARD_MAX>)  で I<(131072\\ /\\ sizeof(void\\ *))> "
-"(Linux/86 では 32768) である。 この上限は特権プロセス (B<CAP_SYS_RESOURCE>)  "
-"では無視されるが、埋め込みの固定値による上限は どんな場合にでも適用される。"
+"値は 10 で、 最小値は 1 (2.6.28 より前のカーネルでは 10) である。 I<msg_max> "
+"に指定できる上限値は B<HARD_MSGMAX> である。 I<msg_max> 上限は特権プロセス "
+"(B<CAP_SYS_RESOURCE>)  では無視されるが、上限値 B<HARD_MSGMAX> はどんな場合に"
+"でも適用される。"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:191
+msgid "The definition of B<HARD_MSGMAX> has changed across kernel versions:"
+msgstr "B<HARD_MSGMAX> の定義はカーネルのバージョンにより異なる。"
+
+#. type: IP
+#: build/C/man7/mq_overview.7:192 build/C/man7/mq_overview.7:195
+#: build/C/man7/mq_overview.7:198 build/C/man7/mq_overview.7:246
+#: build/C/man7/mq_overview.7:249 build/C/man7/mq_overview.7:251
+#: build/C/man2/msgop.2:118 build/C/man2/msgop.2:123 build/C/man2/msgop.2:147
+#: build/C/man2/msgop.2:154 build/C/man2/msgop.2:221 build/C/man2/msgop.2:226
+#: build/C/man2/msgop.2:240 build/C/man2/msgop.2:308 build/C/man2/msgop.2:310
+#: build/C/man2/msgop.2:316
+#, no-wrap
+msgid "*"
+msgstr "*"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:195
+msgid "Up to Linux 2.6.32: I<131072\\ /\\ sizeof(void\\ *)>"
+msgstr "Linux 2.6.32 以前: I<131072\\ /\\ sizeof(void\\ *)>"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:198
+msgid "Linux 2.6.33 to 3.4: I<(32768\\ *\\ sizeof(void\\ *) / 4)>"
+msgstr "Linux 2.6.33 以上 3.4 以下: I<(32768\\ *\\ sizeof(void\\ *) / 4)>"
+
+#.  commit 5b5c4d1a1440e94994c73dddbad7be0676cd8b9a
+#. type: Plain text
+#: build/C/man7/mq_overview.7:202
+msgid "Since Linux 3.5: 65,536"
+msgstr "Linux 3.5 以降: 65,536"
 
 #. type: TP
-#: build/C/man7/mq_overview.7:162
+#: build/C/man7/mq_overview.7:203
+#, no-wrap
+msgid "I</proc/sys/fs/mqueue/msgsize_default> (since Linux 3.5)"
+msgstr "I</proc/sys/fs/mqueue/msgsize_default> (Linux 3.5 以降)"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:230
+msgid ""
+"This file defines the value used for a new queue's I<mq_msgsize> setting "
+"when the queue is created with a call to B<mq_open>(3)  where I<attr> is "
+"specified as NULL.  The default value for this file is 8192 (bytes).  The "
+"minimum and maximum are as for I</proc/sys/fs/mqueue/msgsize_max>.  If "
+"I<msgsize_default> exceeds I<msgsize_max>, a new queue's default "
+"I<mq_msgsize> value is capped to the I<msgsize_max> limit.  Up until Linux "
+"2.6.28, the default I<mq_msgsize> was 8192; from Linux 2.6.28 to Linux 3.4, "
+"the default was the value defined for the I<msgsize_max> limit."
+msgstr ""
+"このファイルは、I<attr> に NULL を指定して B<mq_open>(3) を呼び出してキューが"
+"作成された際に、 その新規キューの I<mq_msgsize> 設定に使用される値を定めてい"
+"る。 このファイルのデフォルト値は 8192 バイトである。 最小値と最大値は I</"
+"proc/sys/fs/mqueue/msgsize_max> と同様である。 \n"
+"I<msgsize_default> が I<msgsize_max> より大きい場合は、 新規キューのデフォル"
+"トの I<mq_msgsize> 値は I<msgsize_max> 上限となる。 Linux 2.6.28 より前は、デ"
+"フォルトの I<mq_msgsize> は 8192 であった。 Linux 2.6.28 から Linux 3.4 まで"
+"は、 デフォルト値は I<msgsize_max> 上限で規定される値であった。"
+
+#. type: TP
+#: build/C/man7/mq_overview.7:230
 #, no-wrap
 msgid "I</proc/sys/fs/mqueue/msgsize_max>"
 msgstr "I</proc/sys/fs/mqueue/msgsize_max>"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:181
+#: build/C/man7/mq_overview.7:245
 msgid ""
 "This file can be used to view and change the ceiling on the maximum message "
 "size.  This value acts as a ceiling on the I<attr-E<gt>mq_msgsize> argument "
 "given to B<mq_open>(3).  The default value for I<msgsize_max> is 8192 "
 "bytes.  The minimum value is 128 (8192 in kernels before 2.6.28).  The upper "
-"limit for I<msgsize_max> is 1,048,576 (in kernels before 2.6.28, the upper "
-"limit was B<INT_MAX>; that is, 2,147,483,647 on Linux/86).  This limit is "
-"ignored for privileged processes (B<CAP_SYS_RESOURCE>)."
-msgstr ""
-"このファイルを使って、メッセージの最大サイズの上限値を\t 参照したり変更したり"
-"できる。\t この値は、\t B<mq_open>(3)\t に渡す\t I<attr-E<gt>mq_msgsize> 引き"
-"数に対する上限値として機能する。\t I<msgsize_max\t> のデフォルト値は 8192 バ"
-"イトで、 最小値は 128 (2.6.28 より前のカーネルでは 8192) である。 "
-"I<msgsize_max> の上限は 1,048,576 である (2.6.28 より前のカーネルでは、上限"
-"は B<INT_MAX> (Linux/86 では 2,147,483,647) であった)。 この上限は特権プロセ"
-"ス\t (B<CAP_SYS_RESOURCE>)\t では無視される。"
+"limit for I<msgsize_max> has varied across kernel versions:"
+msgstr ""
+"このファイルを使って、メッセージの最大サイズの上限値を参照したり変更したりで"
+"きる。 この値は、 B<mq_open>(3) に渡す I<attr-E<gt>mq_msgsize> 引き数に対する"
+"上限値として機能する。 I<msgsize_max> のデフォルト値は 8192 バイトで、 最小値"
+"は 128 (2.6.28 より前のカーネルでは 8192) である。 I<msgsize_max> の上限は"
+"カーネルのバージョンにより異なる。"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:249
+msgid "Before Linux 2.6.28, the upper limit is B<INT_MAX>."
+msgstr "Linux 2.6.28 より前のバージョンでは、上限は B<INT_MAX> である。"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:251
+msgid "From Linux 2.6.28 to 3.4, the limit is 1,048,576."
+msgstr "Linux 2.6.28 から 3.4 では、上限は 1,048,576 である。"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:254
+msgid "Since Linux 3.5, the limit is 16,777,216 (B<HARD_MSGSIZEMAX>)."
+msgstr "Linux 3.5 以降では、上限は 16,777,216 (B<HARD_MSGSIZEMAX>) である。"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:263
+msgid ""
+"The I<msgsize_max> limit is ignored for privileged process "
+"(B<CAP_SYS_RESOURCE>), but, since Linux 3.5, the B<HARD_MSGSIZEMAX> ceiling "
+"is enforced for privileged processes."
+msgstr ""
+"I<msgsize_max> 上限は特権プロセス (B<CAP_SYS_RESOURCE>) では無視されるが、 "
+"Linux 3.5 以降では特権プロセスにも B<HARD_MSGSIZEMAX> という上限が適用され"
+"る。"
 
 #. type: TP
-#: build/C/man7/mq_overview.7:181
+#: build/C/man7/mq_overview.7:263
 #, no-wrap
 msgid "I</proc/sys/fs/mqueue/queues_max>"
 msgstr "I</proc/sys/fs/mqueue/queues_max>"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:191
+#: build/C/man7/mq_overview.7:275
 msgid ""
 "This file can be used to view and change the system-wide limit on the number "
-"of message queues that can be created.  Only privileged processes "
-"(B<CAP_SYS_RESOURCE>)  can create new message queues once this limit has "
-"been reached.  The default value for I<queues_max> is 256; it can be changed "
-"to any value in the range 0 to INT_MAX."
+"of message queues that can be created.  The default value for I<queues_max> "
+"is 256.  No ceiling is imposed on the I<queues_max> limit; privileged "
+"processes (B<CAP_SYS_RESOURCE>)  can exceed the limit (but see BUGS)."
 msgstr ""
-"このファイルを使って、作成することができるメッセージキューの数に\t 対するシス"
-"テム全体での制限を参照したり変更したりできる。\t 一度この上限に達すると、新し"
-"いメッセージキューを作成できるのは\t 特権プロセス\t (B<CAP_SYS_RESOURCE>)\t "
-"だけとなる。\t I<queues_max\t> のデフォルト値は 256 であり、\t 0 から "
-"INT_MAX の範囲の任意の値に変更することができる。"
+"このファイルを使って、作成可能なメッセージキュー数のシステム全体での制限を参"
+"照したり変更したりできる。 I<queues_max> のデフォルト値は 256 である。 "
+"I<queues_max> に課される上限値はない。 特権プロセス (B<CAP_SYS_RESOURCE>) は"
+"この上限値を超えてメッセージキューを作成できる。"
 
 #. type: SS
-#: build/C/man7/mq_overview.7:191
+#: build/C/man7/mq_overview.7:275
 #, no-wrap
 msgid "Resource limit"
 msgstr "リソース制限"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:198
+#: build/C/man7/mq_overview.7:282
 msgid ""
 "The B<RLIMIT_MSGQUEUE> resource limit, which places a limit on the amount of "
 "space that can be consumed by all of the message queues belonging to a "
 "process's real user ID, is described in B<getrlimit>(2)."
 msgstr ""
 "リソース上限 B<RLIMIT_MSGQUEUE> は、プロセスの実 UID に対応する全メッセージ"
-"キューが消費する メモリ空間の量に対して上限を設定する。 B<getrlimit>(2)  を参"
-"照。"
+"キューが消費する メモリー空間の量に対して上限を設定する。 B<getrlimit>(2)  を"
+"照。"
 
 #. type: SS
-#: build/C/man7/mq_overview.7:198
+#: build/C/man7/mq_overview.7:282
 #, no-wrap
-msgid "Mounting the message queue file system"
-msgstr "ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\83»ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\83\9eã\82¦ã\83³ã\83\88"
+msgid "Mounting the message queue filesystem"
+msgstr "メッセージキューファイルシステムのマウント"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:204
+#: build/C/man7/mq_overview.7:288
 msgid ""
-"On Linux, message queues are created in a virtual file system.  (Other "
+"On Linux, message queues are created in a virtual filesystem.  (Other "
 "implementations may also provide such a feature, but the details are likely "
-"to differ.)  This file system can be mounted (by the superuser) using the "
+"to differ.)  This filesystem can be mounted (by the superuser) using the "
 "following commands:"
 msgstr ""
 "Linux では、メッセージキューは仮想ファイルシステム内に作成される (他の実装で"
 "も同様の機能が提供されているものもあるが、 詳細は違っているだろう)。 以下のコ"
-"マンドを使うことで (スーパーユーザは)  このファイルシステムをマウントできる:"
+"マンドを使うことで (スーパーユーザーは)  このファイルシステムをマウントでき"
+"る:"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:209
+#: build/C/man7/mq_overview.7:293
 #, no-wrap
 msgid ""
 "#B< mkdir /dev/mqueue>\n"
@@ -1652,25 +2007,25 @@ msgstr ""
 "#B< mount -t mqueue none /dev/mqueue>\n"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:213
+#: build/C/man7/mq_overview.7:297
 msgid "The sticky bit is automatically enabled on the mount directory."
 msgstr ""
 "マウントしたディレクトリのスティッキービット (sticky bit) は 自動的にオンとな"
 "る。"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:220
+#: build/C/man7/mq_overview.7:304
 msgid ""
-"After the file system has been mounted, the message queues on the system can "
+"After the filesystem has been mounted, the message queues on the system can "
 "be viewed and manipulated using the commands usually used for files (e.g., "
 "B<ls>(1)  and B<rm>(1))."
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\83»ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\83\9eã\82¦ã\83³ã\83\88å¾\8cã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81«å¯¾ã\81\97ã\81¦ é\80\9a常使ã\81\86ã\82³"
-"ã\83\9eã\83³ã\83\89 (ä¾\8bã\81\88ã\81° B<ls>(1)  ã\82\84 B<rm>(1))  ã\82\92使ã\81£ã\81¦ã\80\81ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼"
-"表示したり 操作したりできる。"
+"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\83\9eã\82¦ã\83³ã\83\88å¾\8cã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81«å¯¾ã\81\97ã\81¦ é\80\9a常使ã\81\86ã\82³ã\83\9e"
+"ã\83³ã\83\89 (ä¾\8bã\81\88ã\81° B<ls>(1)  ã\82\84 B<rm>(1))  ã\82\92使ã\81£ã\81¦ã\80\81ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\82\92"
+"表示したり 操作したりできる。"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:223
+#: build/C/man7/mq_overview.7:307
 msgid ""
 "The contents of each file in the directory consist of a single line "
 "containing information about the queue:"
@@ -1679,7 +2034,7 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:228
+#: build/C/man7/mq_overview.7:312
 #, no-wrap
 msgid ""
 "$B< cat /dev/mqueue/mymq>\n"
@@ -1689,29 +2044,29 @@ msgstr ""
 "QSIZE:129     NOTIFY:2    SIGNO:0    NOTIFY_PID:8260\n"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:232
+#: build/C/man7/mq_overview.7:316
 msgid "These fields are as follows:"
 msgstr "各フィールドの詳細は以下の通りである:"
 
 #. type: TP
-#: build/C/man7/mq_overview.7:232
+#: build/C/man7/mq_overview.7:316
 #, no-wrap
 msgid "B<QSIZE>"
 msgstr "B<QSIZE>"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:235
+#: build/C/man7/mq_overview.7:319
 msgid "Number of bytes of data in all messages in the queue."
 msgstr "キューに入っている全メッセージの合計バイト数。"
 
 #. type: TP
-#: build/C/man7/mq_overview.7:235
+#: build/C/man7/mq_overview.7:319
 #, no-wrap
 msgid "B<NOTIFY_PID>"
 msgstr "B<NOTIFY_PID>"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:241
+#: build/C/man7/mq_overview.7:325
 msgid ""
 "If this is nonzero, then the process with this PID has used B<mq_notify>(3)  "
 "to register for asynchronous message notification, and the remaining fields "
@@ -1722,13 +2077,13 @@ msgstr ""
 "われるかは、以下のフィールドにより決定される。"
 
 #. type: TP
-#: build/C/man7/mq_overview.7:241
+#: build/C/man7/mq_overview.7:325
 #, no-wrap
 msgid "B<NOTIFY>"
 msgstr "B<NOTIFY>"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:251
+#: build/C/man7/mq_overview.7:335
 msgid ""
 "Notification method: 0 is B<SIGEV_SIGNAL>; 1 is B<SIGEV_NONE>; and 2 is "
 "B<SIGEV_THREAD>."
@@ -1736,35 +2091,50 @@ msgstr ""
 "通知方法: 0 は B<SIGEV_SIGNAL>; 1 は B<SIGEV_NONE>; 2 は B<SIGEV_THREAD>"
 
 #. type: TP
-#: build/C/man7/mq_overview.7:251
+#: build/C/man7/mq_overview.7:335
 #, no-wrap
 msgid "B<SIGNO>"
 msgstr "B<SIGNO>"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:255
+#: build/C/man7/mq_overview.7:339
 msgid "Signal number to be used for B<SIGEV_SIGNAL>."
 msgstr "B<SIGEV_SIGNAL> に使用されるシグナル番号。"
 
 #. type: SS
-#: build/C/man7/mq_overview.7:255
+#: build/C/man7/mq_overview.7:339
 #, no-wrap
 msgid "Polling message queue descriptors"
 msgstr "メッセージキュー記述子のポーリング"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:263
+#: build/C/man7/mq_overview.7:347
 msgid ""
 "On Linux, a message queue descriptor is actually a file descriptor, and can "
 "be monitored using B<select>(2), B<poll>(2), or B<epoll>(7).  This is not "
 "portable."
 msgstr ""
-"Linux では、メッセージキュー記述子は実際はファイル記述子 (file descriptor)  "
-"であり、 B<select>(2), B<poll>(2), B<epoll>(7)  を使って監視することができ"
-"る。 この機能の移植性はない。"
+"Linux では、メッセージキュー記述子は実際はファイルディスクリプター (file "
+"descriptor)  であり、 B<select>(2), B<poll>(2), B<epoll>(7)  を使って監視する"
+"ことができる。 この機能の移植性はない。"
+
+#. type: SS
+#: build/C/man7/mq_overview.7:347
+#, no-wrap
+msgid "IPC namespaces"
+msgstr "IPC 名前空間"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:275
+#: build/C/man7/mq_overview.7:351
+msgid ""
+"For a discussion of the interaction of System V IPC objects and IPC "
+"namespaces, see B<namespaces>(7)."
+msgstr ""
+"System V IPC オブジェクトと IPC 名前空間の相互の影響に関する議論は "
+"B<namespaces>(7) を参照。"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:363
 msgid ""
 "System V message queues (B<msgget>(2), B<msgsnd>(2), B<msgrcv>(2), etc.) are "
 "an older API for exchanging messages between processes.  POSIX message "
@@ -1774,12 +2144,12 @@ msgid ""
 msgstr ""
 "System V メッセージキュー (B<msgget>(2), B<msgsnd>(2), B<msgrcv>(2)  など) は"
 "プロセス間でメッセージをやり取りするための古い API である。 POSIX メッセージ"
-"ã\82­ã\83¥ã\83¼ã\81¯ System V ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\82\88ã\82\8aã\82\82ã\81\86ã\81¾ã\81\8f è¨­è¨\88ã\81\95ã\82\8cã\81\9fã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\82\92æ\8f\90ä¾\9b"
-"している。 一方で、POSIX メッセージキューは System V メッセージキューと比べる"
-"と 利用できるシステムが少ない (特に、古いシステムでは少ない)。"
+"ã\82­ã\83¥ã\83¼ã\81¯ System V ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\82\88ã\82\8aã\82\82ã\81\86ã\81¾ã\81\8f è¨­è¨\88ã\81\95ã\82\8cã\81\9fã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92æ\8f\90"
+"供している。 一方で、POSIX メッセージキューは System V メッセージキューと比べ"
+"ã\82\8bã\81¨ å\88©ç\94¨ã\81§ã\81\8dã\82\8bã\82·ã\82¹ã\83\86ã\83 ã\81\8cå°\91ã\81ªã\81\84 (ç\89¹ã\81«ã\80\81å\8f¤ã\81\84ã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯å°\91ã\81ªã\81\84\80\82"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:278
+#: build/C/man7/mq_overview.7:366
 msgid ""
 "Linux does not currently (2.6.26) support the use of access control lists "
 "(ACLs) for POSIX message queues."
@@ -1788,7 +2158,7 @@ msgstr ""
 "るアクセス制御リスト (ACL) に 対応していない。"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:281
+#: build/C/man7/mq_overview.7:369
 msgid ""
 "An example of the use of various message queue functions is shown in "
 "B<mq_notify>(3)."
@@ -1796,15 +2166,32 @@ msgstr ""
 "各種のメッセージキュー関数を使用した例が B<mq_notify>(3)  に記載されている。"
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:294
+#: build/C/man7/mq_overview.7:378
 msgid ""
-"B<getrlimit>(2), B<mq_getsetattr>(2), B<poll>(2), B<select>(2), B<mq_close>"
-"(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_receive>(3), "
-"B<mq_send>(3), B<mq_unlink>(3), B<epoll>(7)"
+"In Linux versions 3.5 to 3.14, the kernel imposed a ceiling of 1024 "
+"(B<HARD_QUEUESMAX>)  on the value to which the I<queues_max> limit could be "
+"raised, and the ceiling was enforced even for privileged processes.  This "
+"ceiling value was removed in Linux 3.14, and patches to stable kernels 3.5.x "
+"to 3.13.x also removed the ceiling."
 msgstr ""
-"B<getrlimit>(2), B<mq_getsetattr>(2), B<poll>(2), B<select>(2), B<mq_close>"
-"(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_receive>(3), "
-"B<mq_send>(3), B<mq_unlink>(3), B<epoll>(7)"
+"バージョン 3.5 以降 3.14 未満の Linux では、 I<queues_max> 上限を増やすことが"
+"できる最大値として 1024 (B<HARD_QUEUESMAX>) という最大上限値がカーネルにより"
+"適用されていた。 この最大上限値は特権プロセスにも適用されていた。 この最大上"
+"限値は Linux 3.14 で削除され、 パッチで安定版カーネル 3.5.x から 3.13.x から"
+"もこの最大上限値は削除された。"
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:392
+msgid ""
+"B<getrlimit>(2), B<mq_getsetattr>(2), B<poll>(2), B<select>(2), "
+"B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), "
+"B<mq_receive>(3), B<mq_send>(3), B<mq_unlink>(3), B<epoll>(7), "
+"B<namespaces>(7)"
+msgstr ""
+"B<getrlimit>(2), B<mq_getsetattr>(2), B<poll>(2), B<select>(2), "
+"B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), "
+"B<mq_receive>(3), B<mq_send>(3), B<mq_unlink>(3), B<epoll>(7), "
+"B<namespaces>(7)"
 
 #. type: TH
 #: build/C/man3/mq_receive.3:26
@@ -1815,8 +2202,8 @@ msgstr "MQ_RECEIVE"
 #. type: TH
 #: build/C/man3/mq_receive.3:26 build/C/man3/mq_send.3:26
 #, no-wrap
-msgid "2010-09-20"
-msgstr "2010-09-20"
+msgid "2014-06-03"
+msgstr "2014-06-03"
 
 #. type: Plain text
 #: build/C/man3/mq_receive.3:29
@@ -1828,10 +2215,10 @@ msgstr "mq_receive, mq_timedreceive - メッセージキューからメッセー
 #, no-wrap
 msgid ""
 "B<ssize_t mq_receive(mqd_t >I<mqdes>B<, char *>I<msg_ptr>B<,>\n"
-"B<                   size_t >I<msg_len>B<, unsigned *>I<msg_prio>B<);>\n"
+"B<                   size_t >I<msg_len>B<, unsigned int *>I<msg_prio>B<);>\n"
 msgstr ""
 "B<ssize_t mq_receive(mqd_t >I<mqdes>B<, char *>I<msg_ptr>B<,>\n"
-"B<                   size_t >I<msg_len>B<, unsigned *>I<msg_prio>B<);>\n"
+"B<                   size_t >I<msg_len>B<, unsigned int *>I<msg_prio>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/mq_receive.3:38 build/C/man3/mq_send.3:38
@@ -1848,11 +2235,11 @@ msgstr ""
 #, no-wrap
 msgid ""
 "B<ssize_t mq_timedreceive(mqd_t >I<mqdes>B<, char *>I<msg_ptr>B<,>\n"
-"B<                   size_t >I<msg_len>B<, unsigned *>I<msg_prio>B<,>\n"
+"B<                   size_t >I<msg_len>B<, unsigned int *>I<msg_prio>B<,>\n"
 "B<                   const struct timespec *>I<abs_timeout>B<);>\n"
 msgstr ""
 "B<ssize_t mq_timedreceive(mqd_t >I<mqdes>B<, char *>I<msg_ptr>B<,>\n"
-"B<                   size_t >I<msg_len>B<, unsigned *>I<msg_prio>B<,>\n"
+"B<                   size_t >I<msg_len>B<, unsigned int *>I<msg_prio>B<,>\n"
 "B<                   const struct timespec *>I<abs_timeout>B<);>\n"
 
 #. type: Plain text
@@ -1877,17 +2264,17 @@ msgid ""
 "B<mq_receive>()  removes the oldest message with the highest priority from "
 "the message queue referred to by the descriptor I<mqdes>, and places it in "
 "the buffer pointed to by I<msg_ptr>.  The I<msg_len> argument specifies the "
-"size of the buffer pointed to by I<msg_ptr>; this must be greater than the "
-"I<mq_msgsize> attribute of the queue (see B<mq_getattr>(3)).  If I<prio> is "
-"not NULL, then the buffer to which it points is used to return the priority "
-"associated with the received message."
+"size of the buffer pointed to by I<msg_ptr>; this must be greater than or "
+"equal to the I<mq_msgsize> attribute of the queue (see B<mq_getattr>(3)).  "
+"If I<msg_prio> is not NULL, then the buffer to which it points is used to "
+"return the priority associated with the received message."
 msgstr ""
 "B<mq_receive>()  は、記述子 I<mqdes> で参照されるメッセージキューから最も高い"
 "優先度を持つ 最も古いメッセージを削除し、そのメッセージを I<msg_ptr> が指す"
-"ã\83\90ã\83\83ã\83\95ã\82¡ã\81«æ ¼ç´\8dã\81\99ã\82\8bã\80\82 I<msg_len> å¼\95ã\81\8dæ\95°ã\81¯ã\80\81 I<msg_ptr> ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\81®å¤§ã\81\8dã\81\95"
-"ã\82\92示ã\81\99ã\80\82ã\81\93ã\81®å\80¤ã\81¯ã\82­ã\83¥ã\83¼ã\81® I<mq_msgsize> å±\9eæ\80§ã\82\88ã\82\8aã\82\82大ã\81\8dã\81\8fなければならない "
-"(B<mq_getattr>(3)  参照)。 I<prio> が NULL 以外の場合、 I<prio> が指すバッ"
-"ã\83\95ã\82¡に受信したメッセージの優先度が格納される。"
+"ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«æ ¼ç´\8dã\81\99ã\82\8bã\80\82 I<msg_len> å¼\95ã\81\8dæ\95°ã\81¯ã\80\81 I<msg_ptr> ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®å¤§"
+"ã\81\8dã\81\95ã\82\92示ã\81\99ã\80\82ã\81\93ã\81®å\80¤ã\81¯ã\82­ã\83¥ã\83¼ã\81® I<mq_msgsize> å±\9eæ\80§ä»¥ä¸\8aã\81§なければならない "
+"(B<mq_getattr>(3)  参照)。 I<msg_prio> が NULL 以外の場合、 I<msg_prio> が指"
+"ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼に受信したメッセージの優先度が格納される。"
 
 #. type: Plain text
 #: build/C/man3/mq_receive.3:86
@@ -1898,7 +2285,7 @@ msgid ""
 "the call instead fails immediately with the error B<EAGAIN>."
 msgstr ""
 "キューが空の場合、デフォルトでは、 B<mq_receive>()  は、新しいメッセージが届"
-"くか、関数呼び出しがシグナルハンドラにより 中断されるまで、停止 (block) す"
+"ã\81\8fã\81\8bã\80\81é\96¢æ\95°å\91¼ã\81³å\87ºã\81\97ã\81\8cã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81«ã\82\88ã\82\8a ä¸­æ\96­ã\81\95ã\82\8cã\82\8bã\81¾ã\81§ã\80\81å\81\9cæ­¢ (block) ã\81\99"
 "る。 メッセージキュー記述 (message queue description) で B<O_NONBLOCK> フラグ"
 "が有効になっている場合は、 B<mq_receive>()  はエラー B<EAGAIN> ですぐに失敗す"
 "る。"
@@ -1956,7 +2343,7 @@ msgstr ""
 
 #. type: TP
 #: build/C/man3/mq_receive.3:123 build/C/man3/mq_send.3:128
-#: build/C/man2/msgop.2:310 build/C/man2/msgop.2:365
+#: build/C/man2/msgop.2:364 build/C/man2/msgop.2:419
 #, no-wrap
 msgid "B<EAGAIN>"
 msgstr "B<EAGAIN>"
@@ -1977,7 +2364,7 @@ msgstr "I<mqdes> で指定された記述子が不正である。"
 
 #. type: TP
 #: build/C/man3/mq_receive.3:134 build/C/man3/mq_send.3:139
-#: build/C/man2/msgop.2:326 build/C/man2/msgop.2:380
+#: build/C/man2/msgop.2:380 build/C/man2/msgop.2:434
 #, no-wrap
 msgid "B<EINTR>"
 msgstr "B<EINTR>"
@@ -1985,7 +2372,8 @@ msgstr "B<EINTR>"
 #. type: Plain text
 #: build/C/man3/mq_receive.3:138 build/C/man3/mq_send.3:143
 msgid "The call was interrupted by a signal handler; see B<signal>(7)."
-msgstr "関数呼び出しがシグナルハンドラにより中断された。 B<signal>(7)  参照。"
+msgstr ""
+"関数呼び出しがシグナルハンドラーにより中断された。 B<signal>(7)  参照。"
 
 #. type: Plain text
 #: build/C/man3/mq_receive.3:147 build/C/man3/mq_send.3:152
@@ -2022,7 +2410,13 @@ msgid "The call timed out before a message could be transferred."
 msgstr "メッセージが転送される前に関数呼び出しがタイムアウトした。"
 
 #. type: Plain text
-#: build/C/man3/mq_receive.3:164
+#: build/C/man3/mq_receive.3:163
+msgid ""
+"The B<mq_receive>()  and B<mq_timedreceive>()  functions are thread-safe."
+msgstr "関数 B<mq_receive>() と B<mq_timedreceive>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/mq_receive.3:171
 msgid ""
 "On Linux, B<mq_timedreceive>()  is a system call, and B<mq_receive>()  is a "
 "library function layered on top of that system call."
@@ -2032,13 +2426,13 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man3/mq_receive.3:173
+#: build/C/man3/mq_receive.3:180
 msgid ""
-"B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_send>"
-"(3), B<mq_unlink>(3), B<mq_overview>(7), B<time>(7)"
+"B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), "
+"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<time>(7)"
 msgstr ""
-"B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), B<mq_send>"
-"(3), B<mq_unlink>(3), B<mq_overview>(7), B<time>(7)"
+"B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), "
+"B<mq_send>(3), B<mq_unlink>(3), B<mq_overview>(7), B<time>(7)"
 
 #. type: TH
 #: build/C/man3/mq_send.3:26
@@ -2056,21 +2450,21 @@ msgstr "mq_send, mq_timedsend - メッセージキューにメッセージを送
 #, no-wrap
 msgid ""
 "B<int mq_send(mqd_t >I<mqdes>B<, const char *>I<msg_ptr>B<,>\n"
-"B<              size_t >I<msg_len>B<, unsigned >I<msg_prio>B<);>\n"
+"B<              size_t >I<msg_len>B<, unsigned int >I<msg_prio>B<);>\n"
 msgstr ""
 "B<int mq_send(mqd_t >I<mqdes>B<, const char *>I<msg_ptr>B<,>\n"
-"B<              size_t >I<msg_len>B<, unsigned >I<msg_prio>B<);>\n"
+"B<              size_t >I<msg_len>B<, unsigned int >I<msg_prio>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/mq_send.3:42
 #, no-wrap
 msgid ""
 "B<int mq_timedsend(mqd_t >I<mqdes>B<, const char *>I<msg_ptr>B<,>\n"
-"B<              size_t >I<msg_len>B<, unsigned >I<msg_prio>B<,>\n"
+"B<              size_t >I<msg_len>B<, unsigned int >I<msg_prio>B<,>\n"
 "B<              const struct timespec *>I<abs_timeout>B<);>\n"
 msgstr ""
 "B<int mq_timedsend(mqd_t >I<mqdes>B<, const char *>I<msg_ptr>B<,>\n"
-"B<              size_t >I<msg_len>B<, unsigned >I<msg_prio>B<,>\n"
+"B<              size_t >I<msg_len>B<, unsigned int >I<msg_prio>B<,>\n"
 "B<              const struct timespec *>I<abs_timeout>B<);>\n"
 
 #. type: Plain text
@@ -2117,7 +2511,7 @@ msgstr ""
 "メッセージキューがすでに一杯の場合 (すなわち、キューに入っているメッセージ数"
 "がキューの I<mq_maxmsg> 属性と等しい場合)、デフォルトでは、 B<mq_send ()> "
 "は、メッセージをキューイングするのに十分な空間ができるか、 関数呼び出しがシグ"
-"ナルハンドラにより中断されるまで、停止 (block) する。 メッセージキュー記述 "
+"ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81«ã\82\88ã\82\8a中æ\96­ã\81\95ã\82\8cã\82\8bã\81¾ã\81§ã\80\81å\81\9cæ­¢ (block) ã\81\99ã\82\8bã\80\82 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼è¨\98è¿° "
 "(message queue description) で B<O_NONBLOCK> フラグが有効になっている場合"
 "は、 B<mq_send>()  はエラー B<EAGAIN> ですぐに失敗する。"
 
@@ -2172,7 +2566,12 @@ msgid ""
 msgstr "I<msg_len> がメッセージキューの I<mq_msgsize> 属性よりも大きかった。"
 
 #. type: Plain text
-#: build/C/man3/mq_send.3:169
+#: build/C/man3/mq_send.3:168
+msgid "The B<mq_send>()  and B<mq_timedsend>()  functions are thread-safe."
+msgstr "関数 B<mq_send>() と B<mq_timedsend>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/mq_send.3:176
 msgid ""
 "On Linux, B<mq_timedsend>()  is a system call, and B<mq_send>()  is a "
 "library function layered on top of that system call."
@@ -2181,7 +2580,7 @@ msgstr ""
 "ブラリ関数で、 B<mq_timedsend>()  システムコールを用いて実装されている。"
 
 #. type: Plain text
-#: build/C/man3/mq_send.3:178
+#: build/C/man3/mq_send.3:185
 msgid ""
 "B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), "
 "B<mq_receive>(3), B<mq_unlink>(3), B<mq_overview>(7), B<time>(7)"
@@ -2239,7 +2638,12 @@ msgid "There is no message queue with the given I<name>."
 msgstr "指定された名前 I<name> を持つメッセージキューが存在しない。"
 
 #. type: Plain text
-#: build/C/man3/mq_unlink.3:72
+#: build/C/man3/mq_unlink.3:67
+msgid "The B<mq_unlink>()  function is thread-safe."
+msgstr "関数 B<mq_unlink>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/mq_unlink.3:77
 msgid ""
 "B<mq_close>(3), B<mq_getattr>(3), B<mq_notify>(3), B<mq_open>(3), "
 "B<mq_receive>(3), B<mq_send>(3), B<mq_overview>(7)"
@@ -2248,24 +2652,24 @@ msgstr ""
 "B<mq_receive>(3), B<mq_send>(3), B<mq_overview>(7)"
 
 #. type: TH
-#: build/C/man2/msgctl.2:35
+#: build/C/man2/msgctl.2:37
 #, no-wrap
 msgid "MSGCTL"
 msgstr "MSGCTL"
 
 #. type: TH
-#: build/C/man2/msgctl.2:35
+#: build/C/man2/msgctl.2:37
 #, no-wrap
-msgid "2008-08-06"
-msgstr "2008-08-06"
+msgid "2014-02-24"
+msgstr "2014-02-24"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:38
-msgid "msgctl - message control operations"
-msgstr "msgctl - メッセージ制御操作"
+#: build/C/man2/msgctl.2:40
+msgid "msgctl - System V message control operations"
+msgstr "msgctl - System V メッセージ制御操作"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:43 build/C/man2/msgget.2:41 build/C/man2/msgop.2:46
+#: build/C/man2/msgctl.2:45 build/C/man2/msgget.2:43 build/C/man2/msgop.2:49
 #, no-wrap
 msgid ""
 "B<#include E<lt>sys/types.hE<gt>>\n"
@@ -2277,22 +2681,22 @@ msgstr ""
 "B<#include E<lt>sys/msg.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:45
+#: build/C/man2/msgctl.2:47
 #, no-wrap
 msgid "B<int msgctl(int >I<msqid>B<, int >I<cmd>B<, struct msqid_ds *>I<buf>B<);>\n"
 msgstr "B<int msgctl(int >I<msqid>B<, int >I<cmd>B<, struct msqid_ds *>I<buf>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:52
+#: build/C/man2/msgctl.2:54
 msgid ""
-"B<msgctl>()  performs the control operation specified by I<cmd> on the "
-"message queue with identifier I<msqid>."
+"B<msgctl>()  performs the control operation specified by I<cmd> on the System"
+"\\ V message queue with identifier I<msqid>."
 msgstr ""
-"B<msgctl>()  ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼è­\98å\88¥å­\90 I<msqid> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»"
-"キュー (message queue) に対して I<cmd> で指定された制御操作を行なう。"
+"B<msgctl>()  ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼è­\98å\88¥å­\90 I<msqid> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9f System\\ V ã\83¡ã\83\83"
+"ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ (message queue) ã\81«å¯¾ã\81\97ã\81¦ I<cmd> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få\88¶å¾¡æ\93\8dä½\9cã\82\92è¡\8cã\81ªã\81\86ã\80\82"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:56
+#: build/C/man2/msgctl.2:58
 msgid ""
 "The I<msqid_ds> data structure is defined in I<E<lt>sys/msg.hE<gt>> as "
 "follows:"
@@ -2301,7 +2705,7 @@ msgstr ""
 "る:"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:73
+#: build/C/man2/msgctl.2:75
 #, no-wrap
 msgid ""
 "struct msqid_ds {\n"
@@ -2335,16 +2739,16 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:81
+#: build/C/man2/msgctl.2:83
 msgid ""
-"The I<ipc_perm> structure is defined in I<E<lt>sys/ipc.hE<gt>> as follows "
-"(the highlighted fields are settable using B<IPC_SET>):"
+"The I<ipc_perm> structure is defined as follows (the highlighted fields are "
+"settable using B<IPC_SET>):"
 msgstr ""
-"I<ipc_perm> 構造体は I<E<lt>sys/ipc.hE<gt>> で以下のように定義されている (強"
-"調されたフィールドは B<IPC_SET> を使って設定可能である):"
+"I<ipc_perm> 構造体は以下のように定義されている (強調されたフィールドは "
+"B<IPC_SET> を使って設定可能である):"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:93
+#: build/C/man2/msgctl.2:95
 #, no-wrap
 msgid ""
 "struct ipc_perm {\n"
@@ -2368,35 +2772,35 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:99
+#: build/C/man2/msgctl.2:101
 msgid "Valid values for I<cmd> are:"
 msgstr "I<cmd> として有効な値は:"
 
 #. type: TP
-#: build/C/man2/msgctl.2:99
+#: build/C/man2/msgctl.2:101
 #, no-wrap
 msgid "B<IPC_STAT>"
 msgstr "B<IPC_STAT>"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:108
+#: build/C/man2/msgctl.2:110
 msgid ""
 "Copy information from the kernel data structure associated with I<msqid> "
 "into the I<msqid_ds> structure pointed to by I<buf>.  The caller must have "
 "read permission on the message queue."
 msgstr ""
-"I<msqid> ã\81«é\96¢é\80£ã\81¥ã\81\91ã\82\89ã\82\8cã\81\9fã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\83»ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93ã\81\8bã\82\89ã\80\81ã\83\9dã\82¤ã\83³ã\82¿ "
-"I<buf> が指し示す I<msqid_ds> 構造体に情報をコピーする。 呼び出し側はメッセー"
-"ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\99ã\82\8b読ã\81¿è¾¼ã\81¿è¨±å\8f¯ã\82\92æ\8c\81ã\81£ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82"
+"I<msqid> ã\81«é\96¢é\80£ã\81¥ã\81\91ã\82\89ã\82\8cã\81\9fã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93ã\81\8bã\82\89ã\80\81ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ I<buf> "
+"が指し示す I<msqid_ds> 構造体に情報をコピーする。 呼び出し側はメッセージ"
+"キューに対する読み込み許可を持っていなければならない。"
 
 #. type: TP
-#: build/C/man2/msgctl.2:108
+#: build/C/man2/msgctl.2:110
 #, no-wrap
 msgid "B<IPC_SET>"
 msgstr "B<IPC_SET>"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:135
+#: build/C/man2/msgctl.2:137
 msgid ""
 "Write the values of some members of the I<msqid_ds> structure pointed to by "
 "I<buf> to the kernel data structure associated with this message queue, "
@@ -2405,61 +2809,62 @@ msgid ""
 "(the least significant 9 bits of)  I<msg_perm.mode>.  The effective UID of "
 "the calling process must match the owner (I<msg_perm.uid>)  or creator "
 "(I<msg_perm.cuid>)  of the message queue, or the caller must be privileged.  "
-"Appropriate privilege (Linux: the B<CAP_IPC_RESOURCE> capability) is "
+"Appropriate privilege (Linux: the B<CAP_SYS_RESOURCE> capability) is "
 "required to raise the I<msg_qbytes> value beyond the system parameter "
 "B<MSGMNB>."
 msgstr ""
-"ポインタ I<buf> が指し示す I<msqid_ds> 構造体のメンバーの値を、メッセージ・"
-"ã\82­ã\83¥ã\83¼ã\81«é\96¢é\80£ã\81¥ã\81\91ã\82\89ã\82\8cã\81\9f ã\82«ã\83¼ã\83\8dã\83«ã\83»ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93ã\81«æ\9b¸ã\81\8dè¾¼ã\81¿ã\80\81 I<msg_ctime> ã\83¡ã\83³"
-"ã\83\90ã\83¼ã\82\82æ\9b´æ\96°ã\81\99ã\82\8bã\80\82 æ§\8bé\80 ä½\93ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81®ã\81\86ã\81¡ã\80\81æ\9b´æ\96°ã\81\95ã\82\8cã\82\8bã\82\82ã\81®ã\82\92以ä¸\8bã\81«ç¤ºã\81\99: "
+"ポインター I<buf> が指し示す I<msqid_ds> 構造体のメンバーの値を、メッセージ"
+"ã\82­ã\83¥ã\83¼ã\81«é\96¢é\80£ã\81¥ã\81\91ã\82\89ã\82\8cã\81\9f ã\82«ã\83¼ã\83\8dã\83«ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93ã\81«æ\9b¸ã\81\8dè¾¼ã\81¿ã\80\81 I<msg_ctime> ã\83¡ã\83³ã\83\90ã\83¼"
+"も更新する。 構造体のメンバーのうち、更新されるものを以下に示す: "
 "I<msg_qbytes>, I<msg_perm.uid>, I<msg_perm.gid>, I<msg_perm.mode> (の下位 9 "
-"ビット)。 呼び出したプロセスの実効ユーザ ID が、メッセージ・キューの所有者 "
+"ビット)。 呼び出したプロセスの実効ユーザー ID が、メッセージキューの所有者 "
 "(I<msg_perm.uid>)  または作成者 (I<msg_perm.cuid>)  と一致するか、呼び出し元"
-"ã\81\8cç\89¹æ¨©ã\82\92æ\8c\81ã\81\9fã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82 I<msg_qbytes> ã\82\92ã\82·ã\82¹ã\83\86ã\83 ã\83»ã\83\91ã\83©ã\83¡ã\83¼ã\82¿の "
-"B<MSGMNB> を超えて設定するには、適切な特権 (Linux では B<CAP_IPC_RESOURCE> "
+"ã\81\8cç\89¹æ¨©ã\82\92æ\8c\81ã\81\9fã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82 I<msg_qbytes> ã\82\92ã\82·ã\82¹ã\83\86ã\83 ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼の "
+"B<MSGMNB> を超えて設定するには、適切な特権 (Linux では B<CAP_SYS_RESOURCE> "
 "ケーパビリティ (capability)) が必要である。"
 
 #. type: TP
-#: build/C/man2/msgctl.2:135
+#: build/C/man2/msgctl.2:137
 #, no-wrap
 msgid "B<IPC_RMID>"
 msgstr "B<IPC_RMID>"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:146
+#: build/C/man2/msgctl.2:151
 msgid ""
 "Immediately remove the message queue, awakening all waiting reader and "
 "writer processes (with an error return and I<errno> set to B<EIDRM>).  The "
 "calling process must have appropriate privileges or its effective user ID "
-"must be either that of the creator or owner of the message queue."
+"must be either that of the creator or owner of the message queue.  The third "
+"argument to B<msgctl>()  is ignored in this case."
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ã\81\9fã\81 ã\81¡ã\81«å\89\8aé\99¤ã\81\99ã\82\8bã\80\82 å\90\8cæ\99\82ã\81«ã\81\9dã\81®æ§\8bé\80 ä½\93ã\81®èª­ã\81¿æ\9b¸ã\81\8dã\81®å¾\85ã\81¡ç\8a¶æ\85\8bã\81«"
+"メッセージキューをただちに削除する。 同時にその構造体の読み書きの待ち状態に"
 "あったプロセスに通知する (エラーが返り、 I<errno> が B<EIDRM> に設定され"
 "る)。 呼び出したプロセスが適切な特権を持っているか、 呼び出したプロセスの実効"
-"ユーザ ID がメッセージ・キューの作成者か 所有者の実効ユーザ ID でなければなら"
-"ã\81ªã\81\84。"
+"ユーザー ID がメッセージキューの作成者か 所有者の実効ユーザー ID でなければな"
+"ã\82\89ã\81ªã\81\84ã\80\82ã\81\93ã\81®å ´å\90\88ã\80\81 B<msgctl>() ã\81®ç¬¬ 3 å¼\95ã\81\8dæ\95°ã\81¯ç\84¡è¦\96ã\81\95ã\82\8cã\82\8b。"
 
 #. type: TP
-#: build/C/man2/msgctl.2:146
+#: build/C/man2/msgctl.2:151
 #, no-wrap
 msgid "B<IPC_INFO> (Linux-specific)"
 msgstr "B<IPC_INFO> (Linux 固有)"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:159
+#: build/C/man2/msgctl.2:164
 msgid ""
-"Returns information about system-wide message queue limits and parameters in "
+"Return information about system-wide message queue limits and parameters in "
 "the structure pointed to by I<buf>.  This structure is of type I<msginfo> "
 "(thus, a cast is required), defined in I<E<lt>sys/msg.hE<gt>> if the "
 "B<_GNU_SOURCE> feature test macro is defined:"
 msgstr ""
-"ã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81§ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®å\88¶é\99\90ã\81¨ã\83\91ã\83©ã\83¡ã\83¼ã\82¿に関する情報を、 I<buf> "
+"ã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81§ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81®å\88¶é\99\90ã\81¨ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼に関する情報を、 I<buf> "
 "が指す構造体に入れて返す。 この構造体は I<msginfo> 型である (そのためキャスト"
 "が必要である)。 I<msginfo> は B<_GNU_SOURCE> 機能検査マクロが定義された場合"
 "に I<E<lt>sys/msg.hE<gt>> で以下のように定義される:"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:183
+#: build/C/man2/msgctl.2:188
 #, no-wrap
 msgid ""
 "struct msginfo {\n"
@@ -2485,18 +2890,18 @@ msgid ""
 "};\n"
 msgstr ""
 "struct msginfo {\n"
-"    int msgpool; /* ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\83\87ã\83¼ã\82¿ã\81®ä¿\9dæ\8c\81ã\81«ä½¿ç\94¨ã\81\95ã\82\8cã\82\8b\n"
-"                    ã\83\90ã\83\83ã\83\95ã\82¡ã\83»プールの大きさ (1024 バイト単位);\n"
+"    int msgpool; /* メッセージデータの保持に使用される\n"
+"                    ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼プールの大きさ (1024 バイト単位);\n"
 "                    カーネル内では未使用 */\n"
-"    int msgmap;  /* ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\83\9eã\83\83ã\83\97ã\81®æ\9c\80大ã\82¨ã\83³ã\83\88ã\83ª数;\n"
+"    int msgmap;  /* ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83\9eã\83\83ã\83\97ã\81®æ\9c\80大ã\82¨ã\83³ã\83\88ã\83ªã\83¼数;\n"
 "                    カーネル内では未使用 */\n"
 "    int msgmax;  /* 一つのメッセージに書き込み可能な\n"
 "                    最大バイト数 */\n"
 "    int msgmnb;  /* 一つのキューに書き込み可能な最大バイト数;\n"
 "                    (msgget(2) での) キュー作成中の msg_qbytes\n"
 "                    の初期化に使用される */\n"
-"    int msgmni;  /* ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®æ\95°ã\81®æ\9c\80大å\80¤ */\n"
-"    int msgssz;  /* ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81®ã\82µã\82¤ã\82º;\n"
+"    int msgmni;  /* メッセージキューの数の最大値 */\n"
+"    int msgssz;  /* メッセージセグメントのサイズ;\n"
 "                    カーネル内では未使用 */\n"
 "    int msgtql;  /* システム上の全キューの最大メッセージ数;\n"
 "                    カーネル内では未使用 */\n"
@@ -2505,7 +2910,7 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:196
+#: build/C/man2/msgctl.2:201
 msgid ""
 "The I<msgmni>, I<msgmax>, and I<msgmnb> settings can be changed via I</proc> "
 "files of the same name; see B<proc>(5)  for details."
@@ -2514,15 +2919,15 @@ msgstr ""
 "由で変更可能である。 詳しくは B<proc>(5)  を参照。"
 
 #. type: TP
-#: build/C/man2/msgctl.2:196
+#: build/C/man2/msgctl.2:201
 #, no-wrap
 msgid "B<MSG_INFO> (Linux-specific)"
 msgstr "B<MSG_INFO> (Linux 固有)"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:213
+#: build/C/man2/msgctl.2:218
 msgid ""
-"Returns a I<msginfo> structure containing the same information as for "
+"Return a I<msginfo> structure containing the same information as for "
 "B<IPC_INFO>, except that the following fields are returned with information "
 "about system resources consumed by message queues: the I<msgpool> field "
 "returns the number of message queues that currently exist on the system; the "
@@ -2531,32 +2936,32 @@ msgid ""
 "messages in all queues on the system."
 msgstr ""
 "B<IPC_INFO> のときと同じ情報を格納した I<msginfo> 構造体を返す。 但し、以下の"
-"ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8c æ¶\88è²»ã\81\97ã\81¦ã\81\84ã\82\8bã\82·ã\82¹ã\83\86ã\83 è³\87æº\90ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\81\8cæ ¼ç´\8d"
-"ã\81\95ã\82\8cã\82\8bç\82¹ã\81\8cç\95°ã\81ªã\82\8bã\80\82 I<msgpool> ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ç\8f¾å\9c¨ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81«å­\98å\9c¨ã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼"
-"ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®æ\95°ã\82\92è¿\94ã\81\99ã\80\82 I<msgmap> ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81®å\85¨ã\81¦ã\81®ã\82­ã\83¥ã\83¼ã\81«å\85¥ã\81£ã\81¦"
-"ã\81\84ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ç·\8fæ\95°ã\82\92è¿\94ã\81\99ã\80\82 I<msgtql> ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81®å\85¨ã\81¦ã\81®ã\82­ã\83¥ã\83¼ã\81«"
-"入っている全メッセージの 総バイト数を返す。"
+"ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81\8c æ¶\88è²»ã\81\97ã\81¦ã\81\84ã\82\8bã\82·ã\82¹ã\83\86ã\83 è³\87æº\90ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\81\8cæ ¼ç´\8dã\81\95"
+"ã\82\8cã\82\8bç\82¹ã\81\8cç\95°ã\81ªã\82\8bã\80\82 I<msgpool> ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ç\8f¾å\9c¨ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81«å­\98å\9c¨ã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸"
+"ã\82­ã\83¥ã\83¼ã\81®æ\95°ã\82\92è¿\94ã\81\99ã\80\82 I<msgmap> ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81®å\85¨ã\81¦ã\81®ã\82­ã\83¥ã\83¼ã\81«å\85¥ã\81£ã\81¦ã\81\84ã\82\8b"
+"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ç·\8fæ\95°ã\82\92è¿\94ã\81\99ã\80\82 I<msgtql> ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81®å\85¨ã\81¦ã\81®ã\82­ã\83¥ã\83¼ã\81«å\85¥ã\81£ã\81¦"
+"いる全メッセージの 総バイト数を返す。"
 
 #. type: TP
-#: build/C/man2/msgctl.2:213
+#: build/C/man2/msgctl.2:218
 #, no-wrap
 msgid "B<MSG_STAT> (Linux-specific)"
 msgstr "B<MSG_STAT> (Linux 固有)"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:224
+#: build/C/man2/msgctl.2:229
 msgid ""
-"Returns a I<msqid_ds> structure as for B<IPC_STAT>.  However, the I<msqid> "
+"Return a I<msqid_ds> structure as for B<IPC_STAT>.  However, the I<msqid> "
 "argument is not a queue identifier, but instead an index into the kernel's "
 "internal array that maintains information about all message queues on the "
 "system."
 msgstr ""
 "B<IPC_STAT> と同じく I<msqid_ds> 構造体を返す。 但し、 I<msqid> 引き数は、"
-"ã\82­ã\83¥ã\83¼è­\98å\88¥å­\90ã\81§ã\81¯ã\81ªã\81\8fã\80\81ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81®å\85¨ã\81¦ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\82\92管ç\90\86"
-"ã\81\99ã\82\8bã\82«ã\83¼ã\83\8dã\83«ã\81®å\86\85é\83¨é\85\8då\88\97ã\81¸ã\81®ã\82¤ã\83³ã\83\87ã\83\83ã\82¯ã\82¹ã\81§ã\81\82ã\82\8bã\80\82"
+"ã\82­ã\83¥ã\83¼è­\98å\88¥å­\90ã\81§ã\81¯ã\81ªã\81\8fã\80\81ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81®å\85¨ã\81¦ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\82\92管ç\90\86ã\81\99"
+"るカーネルの内部配列へのインデックスである。"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:245
+#: build/C/man2/msgctl.2:250
 msgid ""
 "On success, B<IPC_STAT>, B<IPC_SET>, and B<IPC_RMID> return 0.  A successful "
 "B<IPC_INFO> or B<MSG_INFO> operation returns the index of the highest used "
@@ -2567,62 +2972,62 @@ msgid ""
 "given in I<msqid>."
 msgstr ""
 "成功すると、 B<IPC_STAT>, B<IPC_SET>, B<IPC_RMID> は 0 を返す。 B<IPC_INFO> "
-"ã\81¨ B<MSG_INFO> æ\93\8dä½\9cã\81¯ã\80\81æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81å\85¨ã\81¦ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\82\92 ç®¡"
-"理しているカーネルの内部配列の使用中エントリのインデックスの うち最大値を返"
-"ã\81\99 (ã\81\93ã\81®æ\83\85å ±ã\81¯ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81®å\85¨ã\81¦ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\82\92 å\8f\96å¾\97ã\81\99ã\82\8bã\81\9fã\82\81"
+"ã\81¨ B<MSG_INFO> æ\93\8dä½\9cã\81¯ã\80\81æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81å\85¨ã\81¦ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\82\92 ç®¡ç\90\86"
+"しているカーネルの内部配列の使用中エントリーのインデックスの うち最大値を返"
+"す (この情報は、システムの全てのメッセージキューに関する情報を 取得するため"
 "に、 B<MSG_STAT> 操作を繰り返し実行する際に使用できる)。 B<MSG_STAT> 操作は、"
-"æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81 I<msqid> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82¤ã\83³ã\83\87ã\83\83ã\82¯ã\82¹ã\82\92æ\8c\81ã\81¤ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®è­\98å\88¥"
-"を返す。"
+"æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81 I<msqid> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82¤ã\83³ã\83\87ã\83\83ã\82¯ã\82¹ã\82\92æ\8c\81ã\81¤ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81®è­\98å\88¥å­\90"
+"を返す。"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:249
+#: build/C/man2/msgctl.2:254
 msgid "On error, -1 is returned with I<errno> indicating the error."
 msgstr "エラーの場合は -1 を返し、 I<errno> を適切に設定する。"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:253
+#: build/C/man2/msgctl.2:258
 msgid "On failure, I<errno> is set to one of the following:"
 msgstr "失敗した場合、 I<errno> は以下の値の中のどれか一つに設定される:"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:266
+#: build/C/man2/msgctl.2:271
 msgid ""
 "The argument I<cmd> is equal to B<IPC_STAT> or B<MSG_STAT>, but the calling "
 "process does not have read permission on the message queue I<msqid>, and "
 "does not have the B<CAP_IPC_OWNER> capability."
 msgstr ""
 "引き数 I<cmd> が B<IPC_STAT> または B<MSG_STAT> に等しいが、呼び出したプロセ"
-"ã\82¹ã\81\8cã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ I<msqid> ã\81«å¯¾ã\81\99ã\82\8b読ã\81¿è¾¼ã\81¿è¨±å\8f¯ã\82\92æ\8c\81ã\81£ã\81¦ã\81\8aã\82\89ã\81\9aã\80\81ã\81\8bã\81¤ "
+"スがメッセージキュー I<msqid> に対する読み込み許可を持っておらず、かつ "
 "B<CAP_IPC_OWNER> ケーパビリティを持っていない。"
 
 #. type: TP
-#: build/C/man2/msgctl.2:266 build/C/man2/msgop.2:318 build/C/man2/msgop.2:371
+#: build/C/man2/msgctl.2:271 build/C/man2/msgop.2:372 build/C/man2/msgop.2:425
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr "B<EFAULT>"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:277
+#: build/C/man2/msgctl.2:282
 msgid ""
 "The argument I<cmd> has the value B<IPC_SET> or B<IPC_STAT>, but the address "
 "pointed to by I<buf> isn't accessible."
 msgstr ""
-"引き数 I<cmd> が B<IPC_SET> か B<IPC_STAT> で、ポインタ I<buf> で指されている"
-"アドレスがアクセス可能でない。"
+"引き数 I<cmd> が B<IPC_SET> か B<IPC_STAT> で、ポインター I<buf> で指されてい"
+"ã\82\8bã\82¢ã\83\89ã\83¬ã\82¹ã\81\8cã\82¢ã\82¯ã\82»ã\82¹å\8f¯è\83½ã\81§ã\81ªã\81\84ã\80\82"
 
 #. type: TP
-#: build/C/man2/msgctl.2:277 build/C/man2/msgop.2:323 build/C/man2/msgop.2:376
+#: build/C/man2/msgctl.2:282 build/C/man2/msgop.2:377 build/C/man2/msgop.2:430
 #, no-wrap
 msgid "B<EIDRM>"
 msgstr "B<EIDRM>"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:280 build/C/man2/msgop.2:326
+#: build/C/man2/msgctl.2:285 build/C/man2/msgop.2:380
 msgid "The message queue was removed."
-msgstr "ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cå\89\8aé\99¤ã\81\95ã\82\8cã\81\9fã\80\82"
+msgstr "メッセージキューが削除された。"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:291
+#: build/C/man2/msgctl.2:296
 msgid ""
 "Invalid value for I<cmd> or I<msqid>.  Or: for a B<MSG_STAT> operation, the "
 "index value specified in I<msqid> referred to an array slot that is "
@@ -2633,44 +3038,75 @@ msgstr ""
 "照いていた。"
 
 #. type: TP
-#: build/C/man2/msgctl.2:291
+#: build/C/man2/msgctl.2:296 build/C/man2/msgctl.2:314
 #, no-wrap
 msgid "B<EPERM>"
 msgstr "B<EPERM>"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:309
+#: build/C/man2/msgctl.2:314
 msgid ""
 "The argument I<cmd> has the value B<IPC_SET> or B<IPC_RMID>, but the "
 "effective user ID of the calling process is not the creator (as found in "
 "I<msg_perm.cuid>)  or the owner (as found in I<msg_perm.uid>)  of the "
-"message queue, and the process is not privileged (Linux: it does not have "
-"the B<CAP_SYS_ADMIN> capability)."
+"message queue, and the caller is not privileged (Linux: does not have the "
+"B<CAP_SYS_ADMIN> capability)."
 msgstr ""
 "引き数 I<cmd> が B<IPC_SET> か B<IPC_RMID> であるが、呼び出したプロセスの実効"
-"ユーザ ID がメッセージキューの (I<msg_perm.cuid> として見つかる) 作成者 と "
-"(I<msg_perm.uid> として見つかる) 所有者のいずれでもなく、 かつ呼び出したプロ"
-"セスに特権 (Linux では B<CAP_SYS_ADMIN> ケーパビリティ) がない。"
+"ユーザ ID がメッセージキューの (I<msg_perm.cuid> として見つかる) 作成者 と "
+"(I<msg_perm.uid> として見つかる) 所有者のいずれでもなく、 かつ呼び出し者に特"
+"権がない (Linux では B<CAP_SYS_ADMIN> ケーパビリティがない)。"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:312 build/C/man2/msgget.2:183
-#: build/C/man2/msgop.2:399
+#: build/C/man2/msgctl.2:325
+msgid ""
+"An attempt (B<IPC_SET>)  was made to increase I<msg_qbytes> beyond the "
+"system parameter B<MSGMNB>, but the caller is not privileged (Linux: does "
+"not have the B<CAP_SYS_RESOURCE> capability)."
+msgstr ""
+"B<IPC_SET> で I<msg_qbytes> をシステムパラメーター B<MSGMNB> より大きな値に設"
+"定しようとしたが、呼び出し元が特権を持っていなかった (Linux では、 "
+"B<CAP_SYS_RESOURCE> ケーパビリティを持っていなかった)。"
+
+#. type: Plain text
+#: build/C/man2/msgctl.2:328 build/C/man2/msgget.2:184
+#: build/C/man2/msgop.2:484
 msgid "SVr4, POSIX.1-2001."
 msgstr "SVr4, POSIX.1-2001."
 
+#.  Like Linux, the FreeBSD man pages still document
+#.  the inclusion of these header files.
 #. type: Plain text
-#: build/C/man2/msgctl.2:323
+#: build/C/man2/msgctl.2:341 build/C/man2/msgget.2:197
+#: build/C/man2/msgop.2:507
+msgid ""
+"The inclusion of I<E<lt>sys/types.hE<gt>> and I<E<lt>sys/ipc.hE<gt>> isn't "
+"required on Linux or by any version of POSIX.  However, some old "
+"implementations required the inclusion of these header files, and the SVID "
+"also documented their inclusion.  Applications intended to be portable to "
+"such old systems may need to include these header files."
+msgstr ""
+"Linux や POSIX の全てのバージョンでは、 I<E<lt>sys/types.hE<gt>> と "
+"I<E<lt>sys/ipc.hE<gt>> のインクルードは必要ない。しかしながら、いくつかの古い"
+"実装ではこれらのヘッダーファイルのインクルードが必要であり、 SVID でもこれら"
+"のインクルードをするように記載されている。このような古いシステムへの移植性を"
+"意図したアプリケーションではこれらのファイルをインクルードする必要があるかも"
+"しれない。"
+
+#. type: Plain text
+#: build/C/man2/msgctl.2:353
 msgid ""
 "The B<IPC_INFO>, B<MSG_STAT> and B<MSG_INFO> operations are used by the "
 "B<ipcs>(1)  program to provide information on allocated resources.  In the "
-"future these may modified or moved to a /proc file system interface."
+"future these may modified or moved to a I</proc> filesystem interface."
 msgstr ""
 "B<IPC_INFO>, B<MSG_STAT>, B<MSG_INFO> 操作は、 B<ipcs>(1)  プログラムで割り当"
 "て済の資源に関する情報を提供するために 使用されている。将来、これらの操作は変"
-"更されたり、 /proc ファイルシステムのインタフェースに移動されるかもしれない。"
+"更されたり、 I</proc> ファイルシステムのインターフェースに移動されるかもしれ"
+"ない。"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:337
+#: build/C/man2/msgctl.2:367
 msgid ""
 "Various fields in the I<struct msqid_ds> were typed as I<short> under Linux "
 "2.2 and have become I<long> under Linux 2.4.  To take advantage of this, a "
@@ -2683,54 +3119,54 @@ msgstr ""
 "い形式の呼び出しを I<cmd> 内の B<IPC_64> フラグで区別する。)"
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:344
+#: build/C/man2/msgctl.2:374
 msgid ""
-"B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<capabilities>(7), B<mq_overview>"
-"(7), B<svipc>(7)"
+"B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<capabilities>(7), "
+"B<mq_overview>(7), B<svipc>(7)"
 msgstr ""
-"B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<capabilities>(7), B<mq_overview>"
-"(7), B<svipc>(7)"
+"B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<capabilities>(7), "
+"B<mq_overview>(7), B<svipc>(7)"
 
 #. type: TH
-#: build/C/man2/msgget.2:33
+#: build/C/man2/msgget.2:35
 #, no-wrap
 msgid "MSGGET"
 msgstr "MSGGET"
 
 #. type: TH
-#: build/C/man2/msgget.2:33
+#: build/C/man2/msgget.2:35
 #, no-wrap
-msgid "2004-05-27"
-msgstr "2004-05-27"
+msgid "2014-04-30"
+msgstr "2014-04-30"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:36
-msgid "msgget - get a message queue identifier"
-msgstr "msgget - メッセージ・キュー識別子を取得する"
+#: build/C/man2/msgget.2:38
+msgid "msgget - get a System V message queue identifier"
+msgstr "msgget - System V メッセージキュー識別子を取得する"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:43
+#: build/C/man2/msgget.2:45
 #, no-wrap
 msgid "B<int msgget(key_t >I<key>B<, int >I<msgflg>B<);>\n"
 msgstr "B<int msgget(key_t >I<key>B<, int >I<msgflg>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:65
+#: build/C/man2/msgget.2:67
 msgid ""
-"The B<msgget>()  system call returns the message queue identifier associated "
-"with the value of the I<key> argument.  A new message queue is created if "
-"I<key> has the value B<IPC_PRIVATE> or I<key> isn't B<IPC_PRIVATE>, no "
-"message queue with the given key I<key> exists, and B<IPC_CREAT> is "
-"specified in I<msgflg>."
+"The B<msgget>()  system call returns the System\\ V message queue identifier "
+"associated with the value of the I<key> argument.  A new message queue is "
+"created if I<key> has the value B<IPC_PRIVATE> or I<key> isn't "
+"B<IPC_PRIVATE>, no message queue with the given key I<key> exists, and "
+"B<IPC_CREAT> is specified in I<msgflg>."
 msgstr ""
-"B<msgget>()  システムコールは I<key> 引き数の値に対応するメッセージ・キューの"
-"識別子を返す。 I<key> の値が B<IPC_PRIVATE> の場合、または I<key> が "
-"B<IPC_PRIVATE> でなくても、 I<key> に対応するメッセージ・キューが存在せず、 "
-"I<msgflg> ã\81« B<IPC_CREAT> ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\80\81 æ\96°ã\81\97ã\81\84ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cä½\9c"
-"される。"
+"B<msgget>()  システムコールは I<key> 引き数の値に対応する System\\ V メッセー"
+"ジキューの識別子を返す。 I<key> の値が B<IPC_PRIVATE> の場合、または I<key> "
+"が B<IPC_PRIVATE> でなくても、 I<key> に対応するメッセージキューが存在せず、 "
+"I<msgflg> ã\81« B<IPC_CREAT> ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\80\81 æ\96°ã\81\97ã\81\84ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81\8cä½\9cæ\88\90"
+"される。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:84
+#: build/C/man2/msgget.2:86
 msgid ""
 "If I<msgflg> specifies both B<IPC_CREAT> and B<IPC_EXCL> and a message queue "
 "already exists for I<key>, then B<msgget>()  fails with I<errno> set to "
@@ -2738,36 +3174,36 @@ msgid ""
 "O_EXCL> for B<open>(2).)"
 msgstr ""
 "I<msgflg> に B<IPC_CREAT> と B<IPC_EXCL> の両方が指定された場合、 I<key> に対"
-"å¿\9cã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cæ\97¢ã\81«å­\98å\9c¨ã\81\99ã\82\8bã\81¨ã\80\81 B<msgget>()  ã\81¯å¤±æ\95\97ã\81\97ã\80\81 I<errno> "
-"に B<EEXIST> が設定される。 (これは B<open>(2)  に B<O_CREAT | O_EXCL> を指定"
-"ã\81\97ã\81\9få ´å\90\88ã\81®å\8b\95ä½\9cã\81¨å\90\8cã\81\98ã\81§ã\81\82ã\82\8b)"
+"å¿\9cã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81\8cæ\97¢ã\81«å­\98å\9c¨ã\81\99ã\82\8bã\81¨ã\80\81 B<msgget>()  ã\81¯å¤±æ\95\97ã\81\97ã\80\81 I<errno> ã\81« "
+"B<EEXIST> が設定される。 (これは B<open>(2)  に B<O_CREAT | O_EXCL> を指定し"
+"た場合の動作と同じである)"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:94
+#: build/C/man2/msgget.2:96
 msgid ""
 "Upon creation, the least significant bits of the argument I<msgflg> define "
 "the permissions of the message queue.  These permission bits have the same "
 "format and semantics as the permissions specified for the I<mode> argument "
 "of B<open>(2).  (The execute permissions are not used.)"
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®ä½\9cæ\88\90æ\99\82ã\81«ã\80\81 I<msgflg> å¼\95ã\81\8dæ\95°ã\81®ä¸\8bä½\8d 9 ã\83\93ã\83\83ã\83\88ã\81¯ã\80\81 ã\81\9dã\81®ã\83¡ã\83\83"
-"ã\82»ã\83¼ã\82¸ã\83»キューのアクセス許可の定義として使用される。 これらの許可ビットは "
+"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81®ä½\9cæ\88\90æ\99\82ã\81«ã\80\81 I<msgflg> å¼\95ã\81\8dæ\95°ã\81®ä¸\8bä½\8d 9 ã\83\93ã\83\83ã\83\88ã\81¯ã\80\81 ã\81\9dã\81®ã\83¡ã\83\83ã\82»ã\83¼"
+"ã\82¸キューのアクセス許可の定義として使用される。 これらの許可ビットは "
 "B<open>(2)  の引き数 I<mode> と同じ形式で同じ意味である。 や B<creat>(2)  シ"
-"ã\82¹ã\83\86ã\83 ã\83»ã\82³ã\83¼ã\83«ã\81®ã\82¢ã\82¯ã\82»ã\82¹è¨±å\8f¯ã\83\91ã\83©ã\83¡ã\83¼ã\82¿と同じ形式で、同じ意味を持つ。 (但し、"
+"ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®ã\82¢ã\82¯ã\82»ã\82¹è¨±å\8f¯ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼と同じ形式で、同じ意味を持つ。 (但し、"
 "実行 (execute) 許可は使用されない。)"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:101
+#: build/C/man2/msgget.2:103
 msgid ""
 "If a new message queue is created, then its associated data structure "
 "I<msqid_ds> (see B<msgctl>(2))  is initialized as follows:"
 msgstr ""
-"æ\96°è¦\8fã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bé\9a\9bã\80\81 B<msgget>()  ã\82·ã\82¹ã\83\86ã\83 ã\83»ã\82³ã\83¼ã\83«ã\81¯ã\83¡ã\83\83"
-"ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93 I<msqid_ds> ã\82\92以ä¸\8bã\81®ã\82\88ã\81\86ã\81«å\88\9dæ\9c\9få\8c\96ã\81\99ã\82\8b "
-"(I<msqid_ds> については B<msgctl>(2)  を参照):"
+"æ\96°è¦\8fã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bé\9a\9bã\80\81 B<msgget>()  ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸"
+"ã\82­ã\83¥ã\83¼ã\81®ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93 I<msqid_ds> ã\82\92以ä¸\8bã\81®ã\82\88ã\81\86ã\81«å\88\9dæ\9c\9få\8c\96ã\81\99ã\82\8b (I<msqid_ds> ã\81«ã\81¤ã\81\84"
+"ては B<msgctl>(2)  を参照):"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:106
+#: build/C/man2/msgget.2:108
 msgid ""
 "I<msg_perm.cuid> and I<msg_perm.uid> are set to the effective user ID of the "
 "calling process."
@@ -2776,7 +3212,7 @@ msgstr ""
 "ユーザーID を設定する。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:111
+#: build/C/man2/msgget.2:113
 msgid ""
 "I<msg_perm.cgid> and I<msg_perm.gid> are set to the effective group ID of "
 "the calling process."
@@ -2785,7 +3221,7 @@ msgstr ""
 "ループID を設定する。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:116
+#: build/C/man2/msgget.2:118
 msgid ""
 "The least significant 9 bits of I<msg_perm.mode> are set to the least "
 "significant 9 bits of I<msgflg>."
@@ -2793,98 +3229,98 @@ msgstr ""
 "I<msg_perm.mode> の下位 9 ビットは I<msgflg> の下位 9 ビットを設定する。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:124
+#: build/C/man2/msgget.2:126
 msgid ""
-"I<msg_qnum>, I<msg_lspid>, I<msg_lrpid>, I<msg_stime> and I<msg_rtime> are "
+"I<msg_qnum>, I<msg_lspid>, I<msg_lrpid>, I<msg_stime>, and I<msg_rtime> are "
 "set to 0."
 msgstr ""
 "I<msg_qnum>, I<msg_lspid>, I<msg_lrpid>, I<msg_stime>, I<msg_rtime> に 0 を設"
 "定される。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:127
+#: build/C/man2/msgget.2:129
 msgid "I<msg_ctime> is set to the current time."
 msgstr "I<msg_ctime> に現在の時刻を設定する。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:131
+#: build/C/man2/msgget.2:133
 msgid "I<msg_qbytes> is set to the system limit B<MSGMNB>."
 msgstr ""
-"I<msg_qbytes> ã\81«ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81§æ±ºã\82\81ã\82\89ã\82\8cã\81\9fã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®æ\9c\80大ã\82µã\82¤ã\82º "
-"B<MSGMNB> を設定する。"
+"I<msg_qbytes> ã\81«ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81§æ±ºã\82\81ã\82\89ã\82\8cã\81\9fã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81®æ\9c\80大ã\82µã\82¤ã\82º B<MSGMNB> "
+"を設定する。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:135
+#: build/C/man2/msgget.2:137
 msgid ""
 "If the message queue already exists the permissions are verified, and a "
 "check is made to see if it is marked for destruction."
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cã\81\99ã\81§ã\81«å­\98å\9c¨ã\81\99ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\82¢ã\82¯ã\82»ã\82¹è¨±å\8f¯ã\81®æ¤\9cæ\9f»ã\81¨ã\80\81 ç ´æ£\84 "
+"メッセージキューがすでに存在する場合は、アクセス許可の検査と、 破棄 "
 "(destruction) マークがないかの確認が行われる。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:141
+#: build/C/man2/msgget.2:143
 msgid ""
 "If successful, the return value will be the message queue identifier (a "
 "nonnegative integer), otherwise -1 with I<errno> indicating the error."
 msgstr ""
-"æ\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\80\81è¿\94ã\82\8aå\80¤ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼è­\98å\88¥å­\90 (é\9d\9eè² ã\81®æ\95´æ\95°) ã\81¨ã\81ªã\82\8bã\80\82 å¤±æ\95\97ã\81\97ã\81\9f"
-"å ´å\90\88ã\81¯ -1 ã\81\8cè¿\94ã\81\95ã\82\8cã\80\81 I<errno> ã\81«ã\81\9dã\81®ã\82¨ã\83©ã\83¼ã\81\8c示ã\81\95ã\82\8cã\82\8bã\80\82"
+"æ\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\80\81è¿\94ã\82\8aå\80¤ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼è­\98å\88¥å­\90 (é\9d\9eè² ã\81®æ\95´æ\95°) ã\81¨ã\81ªã\82\8bã\80\82 å¤±æ\95\97ã\81\97ã\81\9få ´"
+"合は -1 が返され、 I<errno> にそのエラーが示される。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:145
+#: build/C/man2/msgget.2:147
 msgid "On failure, I<errno> is set to one of the following values:"
 msgstr "失敗した場合、 I<errno> に以下の値のいずれか一つが設定される:"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:153
+#: build/C/man2/msgget.2:155
 msgid ""
 "A message queue exists for I<key>, but the calling process does not have "
 "permission to access the queue, and does not have the B<CAP_IPC_OWNER> "
 "capability."
 msgstr ""
-"I<key> ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81¯å­\98å\9c¨ã\81\99ã\82\8bã\81\8cã\80\81 å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\81\9dã\81®"
+"I<key> に対応するメッセージキューは存在するが、 呼び出し元プロセスはその"
 "キューに対するアクセス許可がなく、 B<CAP_IPC_OWNER> ケーパビリティも持ってい"
 "ない。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:163
+#: build/C/man2/msgget.2:164
 msgid ""
-"A message queue exists for I<key> and I<msgflg> specified both B<IPC_CREAT> "
-"and B<IPC_EXCL>."
+"B<IPC_CREAT> and B<IPC_EXCL> were specified in I<msgflg>, but a message "
+"queue already exists for I<key>."
 msgstr ""
-"I<key> に対応するメッセージ・キューが存在し、 I<msgflg> に B<IPC_CREAT> と "
-"B<IPC_EXCL> が指定されていた。"
+"I<msgflg> に B<IPC_CREAT> と B<IPC_EXCL> が指定されたが、 I<key> に対応する"
+"メッセージキューがすでに存在する。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:171
+#: build/C/man2/msgget.2:172
 msgid ""
 "No message queue exists for I<key> and I<msgflg> did not specify "
 "B<IPC_CREAT>."
 msgstr ""
-"I<key> ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cå­\98å\9c¨ã\81\9bã\81\9aã\80\81 I<msgflg> ã\81« B<IPC_CREAT> ã\81\8c"
-"定されていなかった。"
+"I<key> ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81\8cå­\98å\9c¨ã\81\9bã\81\9aã\80\81 I<msgflg> ã\81« B<IPC_CREAT> ã\81\8cæ\8c\87"
+"定されていなかった。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:175
+#: build/C/man2/msgget.2:176
 msgid ""
 "A message queue has to be created but the system does not have enough memory "
 "for the new data structure."
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fã\81\8cã\80\81æ\96°ã\81\97ã\81\84ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93ã\82\92ä½\9cæ\88\90 ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86"
-"ã\81ªã\83¡ã\83¢ã\83ªがシステムに存在しない。"
+"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fã\81\8cã\80\81æ\96°ã\81\97ã\81\84ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93ã\82\92ä½\9cæ\88\90 ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ª"
+"ã\83¡ã\83¢ã\83ªã\83¼がシステムに存在しない。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:181
+#: build/C/man2/msgget.2:182
 msgid ""
 "A message queue has to be created but the system limit for the maximum "
 "number of message queues (B<MSGMNI>)  would be exceeded."
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fã\81\8cã\80\81ä½\9cæ\88\90ã\81\99ã\82\8bã\81¨ ã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»"
+"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fã\81\8cã\80\81ä½\9cæ\88\90ã\81\99ã\82\8bã\81¨ ã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸"
 "キュー数の最大値 (B<MSGMNI>)  を超えてしまう。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:193
+#: build/C/man2/msgget.2:207
 msgid ""
 "B<IPC_PRIVATE> isn't a flag field but a I<key_t> type.  If this special "
 "value is used for I<key>, the system call ignores everything but the least "
@@ -2892,49 +3328,49 @@ msgid ""
 msgstr ""
 "B<IPC_PRIVATE> はフラグではなく、 I<key_t> 型である。 この特別な値が I<key> "
 "として使用された場合、 B<msgget>()  システムコールは I<msgflg> の下位 9 ビッ"
-"ã\83\88以å¤\96ã\81®å\85¨ã\81¦ã\82\92ç\84¡è¦\96ã\81\97ã\81¦ (æ\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\81¯) æ\96°ã\81\97ã\81\84ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\80\82"
+"ト以外の全てを無視して (成功した場合は) 新しいメッセージキューを作成する。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:197
+#: build/C/man2/msgget.2:211
 msgid ""
 "The following is a system limit on message queue resources affecting a "
 "B<msgget>()  call:"
 msgstr ""
-"B<msgget>()  ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81«å½±é\9f¿ã\82\92å\8f\8aã\81¼ã\81\99ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®è³\87æº\90ã\81® ã\82·ã\82¹ã\83\86ã\83 "
-"ã\81¨ã\81\97ã\81¦ã\81®å\88¶é\99\90ã\82\92以ä¸\8bã\81«ç¤ºã\81\99:"
+"B<msgget>()  ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81«å½±é\9f¿ã\82\92å\8f\8aã\81¼ã\81\99ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81®è³\87æº\90ã\81® ã\82·ã\82¹ã\83\86ã\83 ã\81¨"
+"しての制限を以下に示す:"
 
 #. type: TP
-#: build/C/man2/msgget.2:197
+#: build/C/man2/msgget.2:211
 #, no-wrap
 msgid "B<MSGMNI>"
 msgstr "B<MSGMNI>"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:203
+#: build/C/man2/msgget.2:217
 msgid ""
-"System wide maximum number of message queues: policy dependent (on Linux, "
-"this limit can be read and modified via I</proc/sys/kernel/msgmni>)."
+"System-wide limit on the number of message queues: policy dependent (on "
+"Linux, this limit can be read and modified via I</proc/sys/kernel/msgmni>)."
 msgstr ""
-"ã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼æ\95°ã\81®æ\9c\80大å\80¤: æ\96¹é\87\9dä¾\9då­\98 (Linux ã\81§ã\81¯ã\80\81ã\81\93ã\81®å\88¶é\99\90å\80¤"
-"は I</proc/sys/kernel/msgmni> 経由で参照したり、変更したりできる)。"
+"ã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼æ\95°ã\81®ä¸\8aé\99\90å\80¤: æ\96¹é\87\9dä¾\9då­\98 (Linux ã\81§ã\81¯ã\80\81ã\81\93ã\81®å\88¶é\99\90å\80¤ã\81¯ "
+"I</proc/sys/kernel/msgmni> 経由で参照したり、変更したりできる)。"
 
 #. type: SS
-#: build/C/man2/msgget.2:203
+#: build/C/man2/msgget.2:217
 #, no-wrap
-msgid "Linux Notes"
+msgid "Linux notes"
 msgstr "Linux での注意"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:209
+#: build/C/man2/msgget.2:223
 msgid ""
-"Until version 2.3.20 Linux would return B<EIDRM> for a B<msgget>()  on a "
+"Until version 2.3.20, Linux would return B<EIDRM> for a B<msgget>()  on a "
 "message queue scheduled for deletion."
 msgstr ""
-"Linux 2.3.20 ã\81¾ã\81§ã\81¯ã\80\81å\89\8aé\99¤ã\81\8cäº\88å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\97ã\81¦ B<msgget>"
-"()  を行うと B<EIDRM> がエラーとして返されるようになっていた。"
+"Linux 2.3.20 ã\81¾ã\81§ã\81¯ã\80\81å\89\8aé\99¤ã\81\8cäº\88å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\97ã\81¦ "
+"B<msgget>()  を行うと B<EIDRM> がエラーとして返されるようになっていた。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:215
+#: build/C/man2/msgget.2:229
 msgid ""
 "The name choice B<IPC_PRIVATE> was perhaps unfortunate, B<IPC_NEW> would "
 "more clearly show its function."
@@ -2943,7 +3379,7 @@ msgstr ""
 "より明確にその機能を表しているだろう。"
 
 #. type: Plain text
-#: build/C/man2/msgget.2:223
+#: build/C/man2/msgget.2:237
 msgid ""
 "B<msgctl>(2), B<msgrcv>(2), B<msgsnd>(2), B<ftok>(3), B<capabilities>(7), "
 "B<mq_overview>(7), B<svipc>(7)"
@@ -2952,30 +3388,30 @@ msgstr ""
 "B<mq_overview>(7), B<svipc>(7)"
 
 #. type: TH
-#: build/C/man2/msgop.2:38
+#: build/C/man2/msgop.2:41
 #, no-wrap
 msgid "MSGOP"
 msgstr "MSGOP"
 
 #. type: TH
-#: build/C/man2/msgop.2:38
+#: build/C/man2/msgop.2:41
 #, no-wrap
-msgid "2008-04-23"
-msgstr "2008-04-23"
+msgid "2014-08-19"
+msgstr "2014-08-19"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:41
-msgid "msgrcv, msgsnd - message operations"
-msgstr "msgrcv, msgsnd - メッセージ操作"
+#: build/C/man2/msgop.2:44
+msgid "msgrcv, msgsnd - System V message queue operations"
+msgstr "msgrcv, msgsnd - System V メッセージキュー操作"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:49
+#: build/C/man2/msgop.2:52
 #, no-wrap
 msgid "B<int msgsnd(int >I<msqid>B<, const void *>I<msgp>B<, size_t >I<msgsz>B<, int >I<msgflg>B<);>\n"
 msgstr "B<int msgsnd(int >I<msqid>B<, const void *>I<msgp>B<, size_t >I<msgsz>B<, int >I<msgflg>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:53
+#: build/C/man2/msgop.2:56
 #, no-wrap
 msgid ""
 "B<ssize_t msgrcv(int >I<msqid>B<, void *>I<msgp>B<, size_t >I<msgsz>B<, long >I<msgtyp>B<,>\n"
@@ -2985,29 +3421,29 @@ msgstr ""
 "B<               int >I<msgflg>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:63
+#: build/C/man2/msgop.2:66
 msgid ""
 "The B<msgsnd>()  and B<msgrcv>()  system calls are used, respectively, to "
-"send messages to, and receive messages from, a message queue.  The calling "
-"process must have write permission on the message queue in order to send a "
-"message, and read permission to receive a message."
+"send messages to, and receive messages from, a System\\ V message queue.  "
+"The calling process must have write permission on the message queue in order "
+"to send a message, and read permission to receive a message."
 msgstr ""
-"システムコール B<msgsnd>()  と B<msgrcv>()  はそれぞれ、メッセージ・キューへ"
-"ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81®é\80\81ä¿¡ã\81¨ã\80\81 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81®å\8f\97ä¿¡ã\81«ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\80\82å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\80\81 "
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92é\80\81ä¿¡ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\99ã\82\8bæ\9b¸ã\81\8dè¾¼ã\81¿è¨±å\8f¯ã\82\92ã\80\81 ã\83¡ã\83\83"
-"セージを受信するためには読み出し許可を持っていなければならない。"
+"システムコール B<msgsnd>()  と B<msgrcv>()  はそれぞれ、 System\\ V メッセー"
+"ã\82¸ã\82­ã\83¥ã\83¼ã\81¸ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81®é\80\81ä¿¡ã\81¨ã\80\81 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81®å\8f\97ä¿¡ã\81«ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\80\82å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­"
+"ã\82»ã\82¹ã\81¯ã\80\81 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92é\80\81ä¿¡ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\99ã\82\8bæ\9b¸ã\81\8dè¾¼ã\81¿è¨±å\8f¯"
+"ã\82\92ã\80\81 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92å\8f\97ä¿¡ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\81¯èª­ã\81¿å\87ºã\81\97許å\8f¯ã\82\92æ\8c\81ã\81£ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:68
+#: build/C/man2/msgop.2:71
 msgid ""
-"The I<msgp> argument is a pointer to caller-defined structure of the "
+"The I<msgp> argument is a pointer to caller-defined structure of the "
 "following general form:"
 msgstr ""
-"呼び出し元プロセスは以下に示す構造体を用意し、この構造体への ポインタを "
+"å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹ã\81¯ä»¥ä¸\8bã\81«ç¤ºã\81\99æ§\8bé\80 ä½\93ã\82\92ç\94¨æ\84\8fã\81\97ã\80\81ã\81\93ã\81®æ§\8bé\80 ä½\93ã\81¸ã\81® ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92 "
 "I<msgp> 引き数として渡す。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:75
+#: build/C/man2/msgop.2:78
 #, no-wrap
 msgid ""
 "struct msgbuf {\n"
@@ -3021,7 +3457,7 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:94
+#: build/C/man2/msgop.2:97
 msgid ""
 "The I<mtext> field is an array (or other structure) whose size is specified "
 "by I<msgsz>, a nonnegative integer value.  Messages of zero length (i.e., no "
@@ -3036,61 +3472,86 @@ msgstr ""
 "めに 使用される (下記の B<msgrcv>()  の説明を参照のこと)。"
 
 #. type: SS
-#: build/C/man2/msgop.2:94
+#: build/C/man2/msgop.2:97
 #, no-wrap
 msgid "msgsnd()"
 msgstr "msgsnd()"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:102
+#: build/C/man2/msgop.2:105
 msgid ""
 "The B<msgsnd>()  system call appends a copy of the message pointed to by "
 "I<msgp> to the message queue whose identifier is specified by I<msqid>."
 msgstr ""
 "B<msgsnd>()  システムコールは I<msgp> 引き数で指定されたメッセージのコピーを "
-"I<msqid> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fè­\98å\88¥å­\90ã\82\92æ\8c\81ã\81¤ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81¸è¿½å\8a ã\81\99ã\82\8bã\80\82"
+"I<msqid> で指定された識別子を持つメッセージキューへ追加する。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:123
+#: build/C/man2/msgop.2:118
 msgid ""
 "If sufficient space is available in the queue, B<msgsnd>()  succeeds "
-"immediately.  (The queue capacity is defined by the I<msg_qbytes> field in "
+"immediately.  The queue capacity is governed by the I<msg_qbytes> field in "
 "the associated data structure for the message queue.  During queue creation "
 "this field is initialized to B<MSGMNB> bytes, but this limit can be modified "
-"using B<msgctl>(2).)  If insufficient space is available in the queue, then "
-"the default behavior of B<msgsnd>()  is to block until space becomes "
-"available.  If B<IPC_NOWAIT> is specified in I<msgflg>, then the call "
-"instead fails with the error B<EAGAIN>."
+"using B<msgctl>(2).  A message queue is considered to be full if either of "
+"the following conditions is true:"
 msgstr ""
-"キューに十分な空き容量がある場合、 B<msgsnd>()  は直ちに成功する。 (キューの"
-"容量は、メッセージ・キューのデータ構造体の I<msg_qbytes> フィールドで定義され"
+"キューに十分な空き容量がある場合、 B<msgsnd>()  は直ちに成功する。 キューの容"
+"量は、メッセージキューのデータ構造体の I<msg_qbytes> フィールドで制御され"
 "る。 キュー作成時にこのフィールドは B<MSGMNB> に初期化されるが、この制限は "
-"B<msgctl>(2)  を使って変更できる。)  キューに十分な空き容量がない場合、 デ"
-"フォルトでは B<msgsnd>()  は空き容量ができるまで停止 (block) する。 "
-"I<msgflg> に B<IPC_NOWAIT> が指定された場合は、エラー B<EAGAIN> で失敗する。"
+"B<msgctl>(2)  を使って変更できる。 次のいずれかの条件が成立する場合に、メッ"
+"セージキューは一杯と判断される。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:127
+#: build/C/man2/msgop.2:123
+msgid ""
+"Adding a new message to the queue would cause the total number of bytes in "
+"the queue to exceed the queue's maximum size (the I<msg_qbytes> field)."
+msgstr ""
+"新しいメッセージをそのキューに追加すると、 そのキューの全バイト数がキューの最"
+"大サイズ (I<msg_qbytes> フィールド) を超過してしまう場合。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:132
+msgid ""
+"Adding another message to the queue would cause the total number of messages "
+"in the queue to exceed the queue's maximum size (the I<msg_qbytes> field).  "
+"This check is necessary to prevent an unlimited number of zero-length "
+"messages being placed on the queue.  Although such messages contain no data, "
+"they nevertheless consume (locked) kernel memory."
+msgstr ""
+"そのキューにもう一つメッセージを追加すると、 そのキューが全メッセージ数が"
+"キューの最大サイズ (I<msg_qbytes> フィールド) を超過してしまう場合。 この"
+"チェックは、無限個の長さ 0 のメッセージをそのキューに追加するのを防ぐために必"
+"要である。 長さ 0 のメッセージはデータを含まないが、 (ロックされた) カーネル"
+"メモリーを消費するからである。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:143
+msgid ""
+"If insufficient space is available in the queue, then the default behavior "
+"of B<msgsnd>()  is to block until space becomes available.  If B<IPC_NOWAIT> "
+"is specified in I<msgflg>, then the call instead fails with the error "
+"B<EAGAIN>."
+msgstr ""
+"そのキューに十分な領域がない場合、 デフォルトの動作では、 必要な領域ができる"
+"まで B<msgsnd>() は停止 (block) する。 I<msgflg> に B<IPC_NOWAIT> が指定され"
+"た場合、 B<msgsnd>() はエラー B<EAGAIN> で失敗する。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:147
 msgid "A blocked B<msgsnd>()  call may also fail if:"
 msgstr "停止している B<msgsnd>()  は以下の場合にも失敗する。"
 
-#. type: IP
-#: build/C/man2/msgop.2:127 build/C/man2/msgop.2:134 build/C/man2/msgop.2:196
-#: build/C/man2/msgop.2:201 build/C/man2/msgop.2:215 build/C/man2/msgop.2:254
-#: build/C/man2/msgop.2:256 build/C/man2/msgop.2:262
-#, no-wrap
-msgid "*"
-msgstr "*"
-
 #. type: Plain text
-#: build/C/man2/msgop.2:134
+#: build/C/man2/msgop.2:154
 msgid ""
 "the queue is removed, in which case the system call fails with I<errno> set "
 "to B<EIDRM>; or"
 msgstr "キューが削除された。 この場合、 I<errno> は B<EIDRM> に設定される。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:146
+#: build/C/man2/msgop.2:166
 msgid ""
 "a signal is caught, in which case the system call fails with I<errno> set to "
 "B<EINTR>;B<see> B<signal>(7).  (B<msgsnd>()  is never automatically "
@@ -3098,51 +3559,50 @@ msgid ""
 "setting of the B<SA_RESTART> flag when establishing a signal handler.)"
 msgstr ""
 "シグナルが捕捉された。 この場合、 I<errno> は B<EINTR> に設定される。 "
-"B<signal>(7)  参照。 (B<msgsnd>()  は、たとえシグナルハンドラの設定時に "
-"B<SA_RESTART> ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\81\9fã\81¨ã\81\97ã\81¦ã\82\82ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\81«ã\82\88ã\81£ã\81¦å\89²ã\82\8aè¾¼ã\81¾ã\82\8cã\81\9få¾\8c"
-"で 自動的に再スタートすることは決してない。)"
+"B<signal>(7)  å\8f\82ç\85§ã\80\82 (B<msgsnd>()  ã\81¯ã\80\81ã\81\9fã\81¨ã\81\88ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81®è¨­å®\9aæ\99\82ã\81« "
+"B<SA_RESTART> ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\81\9fã\81¨ã\81\97ã\81¦ã\82\82ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81«ã\82\88ã\81£ã\81¦å\89²ã\82\8aè¾¼ã\81¾ã\82\8cã\81\9f"
+"で 自動的に再スタートすることは決してない。)"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:149 build/C/man2/msgop.2:276
+#: build/C/man2/msgop.2:169 build/C/man2/msgop.2:330
 msgid ""
 "Upon successful completion the message queue data structure is updated as "
 "follows:"
 msgstr ""
-"正常に終了した場合、メッセージ・キューのデータ構造体は以下のように 更新され"
-"る:"
+"正常に終了した場合、メッセージキューのデータ構造体は以下のように 更新される:"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:152
+#: build/C/man2/msgop.2:172
 msgid "I<msg_lspid> is set to the process ID of the calling process."
 msgstr "I<msg_lspid> には呼び出し元プロセスのプロセス ID が設定される。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:155
+#: build/C/man2/msgop.2:175
 msgid "I<msg_qnum> is incremented by 1."
 msgstr "I<msg_qnum> は 1 増加する。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:158
+#: build/C/man2/msgop.2:178
 msgid "I<msg_stime> is set to the current time."
 msgstr "I<msg_stime> には現在時刻が設定される。"
 
 #. type: SS
-#: build/C/man2/msgop.2:158
+#: build/C/man2/msgop.2:178
 #, no-wrap
 msgid "msgrcv()"
 msgstr "msgrcv()"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:166
+#: build/C/man2/msgop.2:186
 msgid ""
 "The B<msgrcv>()  system call removes a message from the queue specified by "
 "I<msqid> and places it in the buffer pointed to by I<msgp>."
 msgstr ""
 "B<msgrcv>()  システムコールは I<msqid> で指定されたキューからメッセージを削除"
-"し、 I<msgp> で指定されたバッファにそのメッセージを格納する。"
+"ã\81\97ã\80\81 I<msgp> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«ã\81\9dã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92æ ¼ç´\8dã\81\99ã\82\8bã\80\82"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:192
+#: build/C/man2/msgop.2:212
 msgid ""
 "The argument I<msgsz> specifies the maximum size in bytes for the member "
 "I<mtext> of the structure pointed to by the I<msgp> argument.  If the "
@@ -3162,20 +3622,21 @@ msgstr ""
 "B<E2BIG> が設定される。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:196
+#: build/C/man2/msgop.2:221
 msgid ""
-"The argument I<msgtyp> specifies the type of message requested as follows:"
+"Unless B<MSG_COPY> is specified in I<msgflg> (see below), the I<msgtyp> "
+"argument specifies the type of message requested, as follows:"
 msgstr ""
-"I<msgtyp> 引き数には要求するメッセージの型を指定する。 型は以下のように指定す"
-"る:"
+"B<MSG_COPY> が I<msgflg> に指定されていない場合 (下記参照)、 I<msgtyp> 引き数"
+"ã\81«ã\81¯è¦\81æ±\82ã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81®å\9e\8bã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\80\82 å\9e\8bã\81¯ä»¥ä¸\8bã\81®ã\82\88ã\81\86ã\81«æ\8c\87å®\9aã\81\99ã\82\8b:"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:201
+#: build/C/man2/msgop.2:226
 msgid "If I<msgtyp> is 0, then the first message in the queue is read."
 msgstr "I<msgtyp> が 0 ならば、キューの最初にあるメッセージが読み込まれる。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:215
+#: build/C/man2/msgop.2:240
 msgid ""
 "If I<msgtyp> is greater than 0, then the first message in the queue of type "
 "I<msgtyp> is read, unless B<MSG_EXCEPT> was specified in I<msgflg>, in which "
@@ -3188,7 +3649,7 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:223
+#: build/C/man2/msgop.2:248
 msgid ""
 "If I<msgtyp> is less than 0, then the first message in the queue with the "
 "lowest type less than or equal to the absolute value of I<msgtyp> will be "
@@ -3198,7 +3659,7 @@ msgstr ""
 "キューの最初のメッセージが読み込まれる。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:228
+#: build/C/man2/msgop.2:253
 msgid ""
 "The I<msgflg> argument is a bit mask constructed by ORing together zero or "
 "more of the following flags:"
@@ -3207,13 +3668,13 @@ msgstr ""
 "定する:"
 
 #. type: TP
-#: build/C/man2/msgop.2:228
+#: build/C/man2/msgop.2:253
 #, no-wrap
 msgid "B<IPC_NOWAIT>"
 msgstr "B<IPC_NOWAIT>"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:235
+#: build/C/man2/msgop.2:260
 msgid ""
 "Return immediately if no message of the requested type is in the queue.  The "
 "system call fails with I<errno> set to B<ENOMSG>."
@@ -3222,13 +3683,57 @@ msgstr ""
 "敗し、 I<errno> には B<ENOMSG> が設定される。"
 
 #. type: TP
-#: build/C/man2/msgop.2:235
+#: build/C/man2/msgop.2:260
+#, no-wrap
+msgid "B<MSG_COPY> (since Linux 3.8)"
+msgstr "B<MSG_COPY> (Linux 3.8 以降)"
+
+#.  commit 4a674f34ba04a002244edaf891b5da7fc1473ae8
+#. type: Plain text
+#: build/C/man2/msgop.2:267
+msgid ""
+"Nondestructively fetch a copy of the message at the ordinal position in the "
+"queue specified by I<msgtyp> (messages are considered to be numbered "
+"starting at 0)."
+msgstr ""
+"キューの中で I<msgtyp> で指定した位置にあるメッセージのコピーを、キューを変更"
+"せずに (非破壊的に) 取り出す (メッセージの位置は 0 から順番に番号が割り当てら"
+"れる)。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:281
+msgid ""
+"This flag must be specified in conjunction with B<IPC_NOWAIT>, with the "
+"result that, if there is no message available at the given position, the "
+"call fails immediately with the error B<ENOMSG>.  Because they alter the "
+"meaning of I<msgtyp> in orthogonal ways, B<MSG_COPY> and B<MSG_EXCEPT> may "
+"not both be specified in I<msgflg>."
+msgstr ""
+"このフラグは B<IPC_NOWAIT> と組み合わせて指定しなければならない。 その結果、"
+"指定した位置にメッセージがなかった場合、呼び出しはエラー B<ENOMSG> ですぐに失"
+"敗する。 B<MSG_COPY> と B<MSG_EXCEPT> は I<msgtyp> の意味を相容れない方法で使"
+"用するため、この二つのフラグの両方を I<msgtyp> に指定することはできない。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:289
+msgid ""
+"The B<MSG_COPY> flag was added for the implementation of the kernel "
+"checkpoint-restore facility and is available only if the kernel was built "
+"with the B<CONFIG_CHECKPOINT_RESTORE> option."
+msgstr ""
+"B<MSG_COPY> フラグは、 カーネルのチェックポイント復元 (checkpoint-restore) 機"
+"能の実装のために追加された。 このフラグはカーネルが "
+"B<CONFIG_CHECKPOINT_RESTORE> オプションを有効にして作成された場合にのみ利用で"
+"きる。"
+
+#. type: TP
+#: build/C/man2/msgop.2:289
 #, no-wrap
 msgid "B<MSG_EXCEPT>"
 msgstr "B<MSG_EXCEPT>"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:243
+#: build/C/man2/msgop.2:297
 msgid ""
 "Used with I<msgtyp> greater than 0 to read the first message in the queue "
 "with message type that differs from I<msgtyp>."
@@ -3237,18 +3742,18 @@ msgstr ""
 "セージを読み込む。"
 
 #. type: TP
-#: build/C/man2/msgop.2:243
+#: build/C/man2/msgop.2:297
 #, no-wrap
 msgid "B<MSG_NOERROR>"
 msgstr "B<MSG_NOERROR>"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:248
+#: build/C/man2/msgop.2:302
 msgid "To truncate the message text if longer than I<msgsz> bytes."
 msgstr "I<msgsz> バイトよりも長かった場合はメッセージのテキストを切り詰める。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:254
+#: build/C/man2/msgop.2:308
 msgid ""
 "If no message of the requested type is available and B<IPC_NOWAIT> isn't "
 "specified in I<msgflg>, the calling process is blocked until one of the "
@@ -3259,49 +3764,49 @@ msgstr ""
 "(block) される:"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:256
+#: build/C/man2/msgop.2:310
 msgid "A message of the desired type is placed in the queue."
 msgstr "要求している型のメッセージがキューへ入れられた。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:262
+#: build/C/man2/msgop.2:316
 msgid ""
-"The message queue is removed from the system.  In this case the system call "
+"The message queue is removed from the system.  In this case, the system call "
 "fails with I<errno> set to B<EIDRM>."
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cã\82·ã\82¹ã\83\86ã\83 ã\81\8bã\82\89å\89\8aé\99¤ã\81\95ã\82\8cã\81\9fã\80\82 ã\81\93ã\81®å ´å\90\88ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯å¤±æ\95\97"
+"メッセージキューがシステムから削除された。 この場合、システムコールは失敗"
 "し、 I<errno> に B<EIDRM> が設定される。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:273
+#: build/C/man2/msgop.2:327
 msgid ""
-"The calling process catches a signal.  In this case the system call fails "
+"The calling process catches a signal.  In this case, the system call fails "
 "with I<errno> set to B<EINTR>.  (B<msgrcv>()  is never automatically "
 "restarted after being interrupted by a signal handler, regardless of the "
 "setting of the B<SA_RESTART> flag when establishing a signal handler.)"
 msgstr ""
 "呼び出し元プロセスがシグナルを捕獲した。 この場合、システムコールは失敗し、 "
-"I<errno> に B<EINTR> が設定される。 (B<msgrcv>()  は、たとえシグナルハンド"
-"ã\81®è¨­å®\9aæ\99\82ã\81« B<SA_RESTART> ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\81\9fã\81¨ã\81\97ã\81¦ã\82\82ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\81«ã\82\88ã\81£ã\81¦å\89²ã\82\8a"
-"込まれた後で 自動的に再スタートすることは決してない。)"
+"I<errno> に B<EINTR> が設定される。 (B<msgrcv>()  は、たとえシグナルハンド"
+"ã\83©ã\83¼ã\81®è¨­å®\9aæ\99\82ã\81« B<SA_RESTART> ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\84ã\81\9fã\81¨ã\81\97ã\81¦ã\82\82ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81«ã\82\88ã\81£"
+"て割り込まれた後で 自動的に再スタートすることは決してない。)"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:279
+#: build/C/man2/msgop.2:333
 msgid "I<msg_lrpid> is set to the process ID of the calling process."
 msgstr "I<msg_lrpid> には呼び出し元プロセスのプロセス ID が設定される。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:282
+#: build/C/man2/msgop.2:336
 msgid "I<msg_qnum> is decremented by 1."
 msgstr "I<msg_qnum> は 1 減算される。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:285
+#: build/C/man2/msgop.2:339
 msgid "I<msg_rtime> is set to the current time."
 msgstr "I<msg_rtime> には現在の時刻が設定される。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:298
+#: build/C/man2/msgop.2:352
 msgid ""
 "On failure both functions return -1 with I<errno> indicating the error, "
 "otherwise B<msgsnd>()  returns 0 and B<msgrcv>()  returns the number of "
@@ -3312,7 +3817,7 @@ msgstr ""
 "ピーしたバイト数を返す。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:304
+#: build/C/man2/msgop.2:358
 msgid ""
 "When B<msgsnd>()  fails, I<errno> will be set to one among the following "
 "values:"
@@ -3320,16 +3825,16 @@ msgstr ""
 "B<msgsnd>()  が失敗した場合、 B<errno> に以下の値のいずれかが設定される:"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:310
+#: build/C/man2/msgop.2:364
 msgid ""
 "The calling process does not have write permission on the message queue, and "
 "does not have the B<CAP_IPC_OWNER> capability."
 msgstr ""
-"å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\99ã\82\8bæ\9b¸ã\81\8dè¾¼ã\81¿è¨±å\8f¯ã\81\8cã\81ªã\81\8fã\80\81 "
+"呼び出し元プロセスにはメッセージキューに対する書き込み許可がなく、 "
 "B<CAP_IPC_OWNER> ケーパビリティもない。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:318
+#: build/C/man2/msgop.2:372
 msgid ""
 "The message can't be sent due to the I<msg_qbytes> limit for the queue and "
 "B<IPC_NOWAIT> was specified in I<msgflg>."
@@ -3338,20 +3843,20 @@ msgstr ""
 "かつ I<msgflg> に B<IPC_NOWAIT> が指定されていた。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:323 build/C/man2/msgop.2:376
+#: build/C/man2/msgop.2:377 build/C/man2/msgop.2:430
 msgid "The address pointed to by I<msgp> isn't accessible."
 msgstr "I<msgp> が指しているアドレスがアクセス可能でない。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:329
+#: build/C/man2/msgop.2:383
 msgid ""
 "Sleeping on a full message queue condition, the process caught a signal."
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cè¦\81æ±\82ã\81\97ã\81\9fæ\9d¡ä»¶ã\82\92æº\80ã\81\9fã\81\99ã\81¾ã\81§å\81\9cæ­¢ã\81\97ã\81¦ã\81\84ã\82\8bæ\99\82ã\81«ã\80\81 ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82·ã\82°"
-"ã\83\8aã\83«ã\82\92æ\8d\95ç\8d²ã\81\97ã\81\9fã\80\82"
+"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81\8cè¦\81æ±\82ã\81\97ã\81\9fæ\9d¡ä»¶ã\82\92æº\80ã\81\9fã\81\99ã\81¾ã\81§å\81\9cæ­¢ã\81\97ã\81¦ã\81\84ã\82\8bæ\99\82ã\81«ã\80\81 ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82·ã\82°ã\83\8a"
+"ルを捕獲した。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:340
+#: build/C/man2/msgop.2:394
 msgid ""
 "Invalid I<msqid> value, or nonpositive I<mtype> value, or invalid I<msgsz> "
 "value (less than 0 or greater than the system value B<MSGMAX>)."
@@ -3360,16 +3865,16 @@ msgstr ""
 "な値 (0 以下か、システムで決まる値 B<MSGMAX> よりも大きい値) である。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:345
+#: build/C/man2/msgop.2:399
 msgid ""
 "The system does not have enough memory to make a copy of the message pointed "
 "to by I<msgp>."
 msgstr ""
-"I<msgp> ã\81\8cæ\8c\87ã\81\99ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81®ã\82³ã\83\94ã\83¼ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\81\8cã\82·ã\82¹ã\83\86ã\83 ã\81«å­\98å\9c¨ã\81\97"
-"ない。"
+"I<msgp> ã\81\8cæ\8c\87ã\81\99ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81®ã\82³ã\83\94ã\83¼ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\82·ã\82¹ã\83\86ã\83 ã\81«å­\98å\9c¨"
+"ã\81\97ã\81ªã\81\84ã\80\82"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:351
+#: build/C/man2/msgop.2:405
 msgid ""
 "When B<msgrcv>()  fails, I<errno> will be set to one among the following "
 "values:"
@@ -3377,13 +3882,13 @@ msgstr ""
 "B<msgrcv>()  が失敗した場合には I<errno> に以下の値のいずれかが設定される:"
 
 #. type: TP
-#: build/C/man2/msgop.2:351
+#: build/C/man2/msgop.2:405
 #, no-wrap
 msgid "B<E2BIG>"
 msgstr "B<E2BIG>"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:359
+#: build/C/man2/msgop.2:413
 msgid ""
 "The message text length is greater than I<msgsz> and B<MSG_NOERROR> isn't "
 "specified in I<msgflg>."
@@ -3392,32 +3897,32 @@ msgstr ""
 "B<MSG_NOERROR> が設定されていなかった。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:365
+#: build/C/man2/msgop.2:419
 msgid ""
 "The calling process does not have read permission on the message queue, and "
 "does not have the B<CAP_IPC_OWNER> capability."
 msgstr ""
-"å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\99ã\82\8b読ã\81¿è¾¼ã\81¿è¨±å\8f¯ã\81\8cã\81ªã\81\8fã\80\81 "
+"呼び出し元プロセスにはメッセージキューに対する読み込み許可がなく、 "
 "B<CAP_IPC_OWNER> ケーパビリティもない。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:371
+#: build/C/man2/msgop.2:425
 msgid ""
 "No message was available in the queue and B<IPC_NOWAIT> was specified in "
 "I<msgflg>."
 msgstr "キューにはメッセージがなく、 I<msgflg> に B<IPC_NOWAIT> が指定された。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:380
+#: build/C/man2/msgop.2:434
 msgid ""
 "While the process was sleeping to receive a message, the message queue was "
 "removed."
 msgstr ""
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92å\8f\97ä¿¡ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\83\97ã\83­ã\82»ã\82¹ã\81\8cå\81\9cæ­¢ã\81\97ã\81¦ã\81\84ã\82\8bé\96\93ã\81«ã\80\81 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cå\89\8a"
-"された。"
+"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92å\8f\97ä¿¡ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\83\97ã\83­ã\82»ã\82¹ã\81\8cå\81\9cæ­¢ã\81\97ã\81¦ã\81\84ã\82\8bé\96\93ã\81«ã\80\81 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81\8cå\89\8aé\99¤"
+"された。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:385
+#: build/C/man2/msgop.2:439
 msgid ""
 "While the process was sleeping to receive a message, the process caught a "
 "signal; see B<signal>(7)."
@@ -3426,50 +3931,102 @@ msgstr ""
 "した。 B<signal>(7)  参照。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:391
+#: build/C/man2/msgop.2:445
 msgid "I<msgqid> was invalid, or I<msgsz> was less than 0."
 msgstr "I<msgqid> が不正か、 I<msgsz> が 0 より小さい。"
 
 #. type: TP
-#: build/C/man2/msgop.2:391
+#: build/C/man2/msgop.2:445 build/C/man2/msgop.2:452
+#, no-wrap
+msgid "B<EINVAL> (since Linux 3.14)"
+msgstr "B<EINVAL> (Linux 3.14 以降)"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:452
+msgid "I<msgflg> specified B<MSG_COPY>, but not B<IPC_NOWAIT>."
+msgstr ""
+"I<msgflg> に B<MSG_COPY> が指定されたが、 B<IPC_NOWAIT> が指定されていない。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:459
+msgid "I<msgflg> specified both B<MSG_COPY> and B<MSG_EXCEPT>."
+msgstr "I<msgflg> に B<MSG_COPY> と B<MSG_EXCEPT> の両方が指定された。"
+
+#. type: TP
+#: build/C/man2/msgop.2:459 build/C/man2/msgop.2:465
 #, no-wrap
 msgid "B<ENOMSG>"
 msgstr "B<ENOMSG>"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:397
+#: build/C/man2/msgop.2:465
 msgid ""
 "B<IPC_NOWAIT> was specified in I<msgflg> and no message of the requested "
 "type existed on the message queue."
 msgstr ""
-"I<msgflg> ã\81« B<IPC_NOWAIT> ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«è¦\81æ±\82ã\81\95ã\82\8cã\81\9f"
-"のメッセージが存在しなかった。"
+"I<msgflg> ã\81« B<IPC_NOWAIT> ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\81«è¦\81æ±\82ã\81\95ã\82\8cã\81\9få\9e\8b"
+"のメッセージが存在しなかった。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:406
+#: build/C/man2/msgop.2:475
 msgid ""
-"The I<msgp> argument is declared as I<struct msgbuf *> with libc4, libc5, "
-"glibc 2.0, glibc 2.1.  It is declared as I<void *> with glibc 2.2 and later, "
-"as required by SUSv2 and SUSv3."
+"B<IPC_NOWAIT> and B<MSG_COPY> were specified in I<msgflg> and the queue "
+"contains less than I<msgtyp> messages."
 msgstr ""
-"I<msgp> 引き数は、 libc4, libc5, glibc 2.0, glibc 2.1 では I<struct msgbuf "
-"*> と宣言されている。glibc 2.2 以降では、 SUSv2 と SUSv3 の要求通り、I<void "
-"*> と宣言されている。"
+"B<IPC_NOWAIT> と B<MSG_COPY> が I<msgflg> に指定されたが、 キューには "
+"I<msgtyp> 未満のメッセージしか入っていなかった。"
+
+#. type: TP
+#: build/C/man2/msgop.2:475
+#, no-wrap
+msgid "B<ENOSYS> (since Linux 3.8)"
+msgstr "B<ENOSYS> (Linux 3.8 以降)"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:410
+#: build/C/man2/msgop.2:482
+msgid ""
+"I<MSG_COPY> was specified in I<msgflg>, and this kernel was configured "
+"without B<CONFIG_CHECKPOINT_RESTORE>."
+msgstr ""
+"I<msgflg> に I<MSG_COPY> が指定されたが、カーネルが "
+"B<CONFIG_CHECKPOINT_RESTORE> なしで作成されている。"
+
+#.  MSG_COPY since glibc 2.18
+#. type: Plain text
+#: build/C/man2/msgop.2:494
+msgid ""
+"The B<MSG_EXCEPT> and B<MSG_COPY> flags are Linux-specific; their "
+"definitions can be obtained by defining the B<_GNU_SOURCE> feature test "
+"macro."
+msgstr ""
+"フラグ B<MSG_EXCEPT> と B<MSG_COPY> は Linux 固有である。 これらの定義を得る"
+"には、機能検査マクロ B<_GNU_SOURCE> を定義する。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:514
+msgid ""
+"The I<msgp> argument is declared as I<struct msgbuf\\ *> in glibc 2.0 and "
+"2.1.  It is declared as I<void\\ *> in glibc 2.2 and later, as required by "
+"SUSv2 and SUSv3."
+msgstr ""
+"I<msgp> 引き数は、 glibc 2.0 と 2.1 では I<struct msgbuf\\ *> と宣言されてい"
+"る。glibc 2.2 以降では、 SUSv2 と SUSv3 の要求通り、I<void\\ *> と宣言されて"
+"いる。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:518
 msgid ""
 "The following limits on message queue resources affect the B<msgsnd>()  call:"
 msgstr "以下は B<msgsnd> システムコールに影響するシステム制限である:"
 
 #. type: TP
-#: build/C/man2/msgop.2:410
+#: build/C/man2/msgop.2:518
 #, no-wrap
 msgid "B<MSGMAX>"
 msgstr "B<MSGMAX>"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:415
+#: build/C/man2/msgop.2:523
 msgid ""
 "Maximum size for a message text: 8192 bytes (on Linux, this limit can be "
 "read and modified via I</proc/sys/kernel/msgmax>)."
@@ -3478,40 +4035,77 @@ msgstr ""
 "proc/sys/kernel/msgmax> 経由で読み出したり変更したりできる)。"
 
 #. type: TP
-#: build/C/man2/msgop.2:415
+#: build/C/man2/msgop.2:523
 #, no-wrap
 msgid "B<MSGMNB>"
 msgstr "B<MSGMNB>"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:425
+#: build/C/man2/msgop.2:537
 msgid ""
 "Default maximum size in bytes of a message queue: 16384 bytes (on Linux, "
-"this limit can be read and modified via I</proc/sys/kernel/msgmnb>).  The "
-"superuser can increase the size of a message queue beyond B<MSGMNB> by a "
+"this limit can be read and modified via I</proc/sys/kernel/msgmnb>).  A "
+"privileged process (Linux: a process with the B<CAP_SYS_RESOURCE> "
+"capability)  can increase the size of a message queue beyond B<MSGMNB> by a "
 "B<msgctl>(2)  system call."
 msgstr ""
-"ã\83\90ã\82¤ã\83\88å\8d\98ä½\8dã\81§ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®æ\9c\80大ã\82µã\82¤ã\82º : 16384 ã\83\90ã\82¤ã\83\88ã\80\82 "
+"バイト単位でのメッセージキューのデフォルトの最大サイズ : 16384 バイト。 "
 "(Linux では、この制限値は I</proc/sys/kernel/msgmnb> 経由で読み出したり変更し"
-"たりできる)。 スーパーユーザーは B<msgctl>(2)  システムコールでメッセージ・"
-"キューのサイズを B<MSGMNB> よりも大きい値に増やすことができる。"
+"たりできる)。 特権プロセス (Linux ではケーパビリティ B<CAP_SYS_RESOURCE> を"
+"持ったプロセス) は B<msgctl>(2)  システムコールでメッセージキューのサイズを "
+"B<MSGMNB> よりも大きい値に増やすことができる。"
+
+#. type: Plain text
+#: build/C/man2/msgop.2:543
+msgid ""
+"The implementation has no intrinsic system-wide limits on the number of "
+"message headers (B<MSGTQL>)  and the number of bytes in the message pool "
+"(B<MSGPOOL>)."
+msgstr ""
+"現在の実装では、システム全体のメッセージヘッダーの上限数 (B<MSGTQL>)  と、シ"
+"ステム全体のメッセージプールの最大バイト数 (B<MSGPOOL>)  に関して実装依存の制"
+"限はない。"
+
+#.  http://marc.info/?l=linux-kernel&m=139048542803605&w=2
+#.  commit 4f87dac386cc43d5525da7a939d4b4e7edbea22c
+#. type: Plain text
+#: build/C/man2/msgop.2:563
+msgid ""
+"In Linux 3.13 and earlier, if B<msgrcv>()  was called with the B<MSG_COPY> "
+"flag, but without B<IPC_NOWAIT>, and the message queue contained less than "
+"I<msgtyp> 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, I<regardless> of whether that message was at the ordinal position "
+"I<msgtyp>.  This bug is fixed in Linux 3.14."
+msgstr ""
+"Linux 3.13 以前では、 B<msgrcv>() の呼び出しで B<MSG_COPY> フラグは指定された"
+"が B<IPC_NOWAIT> は指定されず、かつメッセージキューに I<msgtyp> 未満のメッ"
+"セージしかない場合に、 B<msgrcv>() の呼び出しはキューに次のメッセージが書き込"
+"まれるまで停止していた。 新しいメッセージが書き込まれた時点で、 そのメッセー"
+"ジが指定された位置 I<msgtyp> かどうかにI<関わらず>、 B<msgrcv>() の呼び出しは"
+"新たに書き込まれたメッセージのコピーを返していた。 このバグは Linux 3.14"
+"で修正された。"
 
+#.  http://marc.info/?l=linux-kernel&m=139048542803605&w=2
+#.  commit 4f87dac386cc43d5525da7a939d4b4e7edbea22c
 #. type: Plain text
-#: build/C/man2/msgop.2:431
+#: build/C/man2/msgop.2:579
 msgid ""
-"The implementation has no intrinsic limits for the system wide maximum "
-"number of message headers (B<MSGTQL>)  and for the system wide maximum size "
-"in bytes of the message pool (B<MSGPOOL>)."
+"Specifying both B<MSG_COPY> and B<MSC_EXCEPT> in I<msgflg> is a logical "
+"error (since these flags impose different interpretations on I<msgtyp>).  In "
+"Linux 3.13 and earlier, this error was not diagnosed by B<msgrcv>().  This "
+"bug is fixed in Linux 3.14."
 msgstr ""
-"現在の実装では、システム全体のメッセージ・ヘッダーの最大数 (B<MSGTQL>)  と、"
-"システム全体のメッセージ・プールの最大バイト数 (B<MSGPOOL>)  に関して実装依存"
-"の制限はない。"
+"I<msg_copy> に B<MSG_COPY> と B<MSG_EXCEPT> の両方を指定するのは、論理的なエ"
+"ラーである (なぜならこれらのフラグは I<msgtyp> を別の意味で解釈するからであ"
+"る)。 Linux 3.13 以前では、B<msgrcv>() がこのエラーを検出しなかった。 このバ"
+"グは Linux 3.14 で修正された。"
 
 #. type: Plain text
-#: build/C/man2/msgop.2:437
+#: build/C/man2/msgop.2:585
 msgid ""
-"B<msgctl>(2), B<msgget>(2), B<capabilities>(7), B<mq_overview>(7), B<svipc>"
-"(7)"
+"B<msgctl>(2), B<msgget>(2), B<capabilities>(7), B<mq_overview>(7), "
+"B<svipc>(7)"
 msgstr ""
-"B<msgctl>(2), B<msgget>(2), B<capabilities>(7), B<mq_overview>(7), B<svipc>"
-"(7)"
+"B<msgctl>(2), B<msgget>(2), B<capabilities>(7), B<mq_overview>(7), "
+"B<svipc>(7)"