msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2014-06-08 01:30+0900\n"
-"PO-Revision-Date: 2014-06-06 00:50+0900\n"
+"POT-Creation-Date: 2015-01-01 22:50+0900\n"
+"PO-Revision-Date: 2015-01-04 22:08+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#. type: TH
#: 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/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:37
-#: build/C/man2/msgget.2:35 build/C/man2/msgop.2:40
+#: build/C/man2/msgget.2:35 build/C/man2/msgop.2:41
#, no-wrap
msgid "Linux"
msgstr "Linux"
#: 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:37
-#: build/C/man2/msgget.2:35 build/C/man2/msgop.2:40
+#: build/C/man2/msgget.2:35 build/C/man2/msgop.2:41
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux Programmer's Manual"
#: 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:38
-#: build/C/man2/msgget.2:36 build/C/man2/msgop.2:41
+#: build/C/man2/msgget.2:36 build/C/man2/msgop.2:42
#, no-wrap
msgid "NAME"
msgstr "名前"
#: 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:40 build/C/man2/msgget.2:38 build/C/man2/msgop.2:43
+#: build/C/man2/msgctl.2:40 build/C/man2/msgget.2:38 build/C/man2/msgop.2:44
#, no-wrap
msgid "SYNOPSIS"
msgstr "書式"
#: 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:48
-#: build/C/man2/msgget.2:46 build/C/man2/msgop.2:56
+#: build/C/man2/msgget.2:46 build/C/man2/msgop.2:57
#, no-wrap
msgid "DESCRIPTION"
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:129
#: 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:229
-#: build/C/man2/msgget.2:137 build/C/man2/msgop.2:338
+#: build/C/man2/msgget.2:137 build/C/man2/msgop.2:339
#, no-wrap
msgid "RETURN VALUE"
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:141
#: 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:254
-#: build/C/man2/msgget.2:143 build/C/man2/msgop.2:351
+#: build/C/man2/msgget.2:143 build/C/man2/msgop.2:352
#, no-wrap
msgid "ERRORS"
msgstr "エラー"
#. type: SH
#: build/C/man3/mq_close.3:59 build/C/man3/mq_getattr.3:137
+#: build/C/man3/mq_open.3:230 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:231 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: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:325
-#: build/C/man2/msgget.2:182 build/C/man2/msgop.2:481
+#: build/C/man3/mq_open.3:235 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:237
+#: 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:52 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_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:493
+#: 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)."
"ジキューは自動的にクローズされる。"
#. type: SH
-#: build/C/man3/mq_close.3:65 build/C/man3/mq_getattr.3:147
+#: 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: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:367
-#: build/C/man2/msgget.2:229 build/C/man2/msgop.2:578
+#: build/C/man3/mq_open.3:241 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)"
"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/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: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:374
-#: build/C/man2/msgget.2:237 build/C/man2/msgop.2:584
+#: build/C/man3/mq_open.3:249 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:81 build/C/man3/mq_getattr.3:163
+#: 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:246 build/C/man7/mq_overview.7:302
-#: build/C/man3/mq_receive.3:181 build/C/man3/mq_send.3:186
-#: build/C/man3/mq_unlink.3:80 build/C/man2/msgctl.2:382
-#: build/C/man2/msgget.2:245 build/C/man2/msgop.2:592
-#, fuzzy
-#| msgid ""
-#| "This page is part of release 3.67 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/."
-msgid ""
-"This page is part of release 3.68 of the Linux I<man-pages> project. A "
+#: build/C/man3/mq_open.3:257 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.75 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.67 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.75 の一部\n"
"である。プロジェクトの説明とバグ報告に関する情報は\n"
"http://www.kernel.org/doc/man-pages/ に書かれている。"
msgstr "MQ_GETATTR"
#. type: TH
-#: build/C/man3/mq_getattr.3:26
-#, fuzzy, no-wrap
-#| msgid "2014-05-16"
-msgid "2014-05-28"
-msgstr "2014-05-16"
+#: build/C/man3/mq_getattr.3:26 build/C/man3/mq_open.3:26
+#, no-wrap
+msgid "2014-10-02"
+msgstr "2014-10-02"
#. type: Plain text
#: build/C/man3/mq_getattr.3:29
#. type: Plain text
#: build/C/man3/mq_getattr.3:37
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int mq_setattr(mqd_t >I<mqdes>B<, struct mq_attr *>I<newattr>B<,>\n"
-#| "B< struct mq_attr *>I<oldattr>B<);>\n"
+#, no-wrap
msgid ""
"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
"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)."
-msgstr ""
-"I<mq_maxmsg> と I<mq_msgsize> フィールドは B<mq_open>(3) でメッセージキュー"
-"が作成される際にセットされる。 I<mq_maxmsg> フィールドは、 B<mq_send>(3) を"
-"使ってキューに入れることができるメッセージ数の上限である。 I<mq_msgsize> "
-"フィールドは、キューに入れることができるメッセージの 上限サイズである。 これ"
-"らのフィールドはどちらも 0 より大きな値でなければならない。 これらのフィール"
-"ドに設定できる値の上限は I</proc> ファイルにより決まる。 I</proc> ファイルの"
-"詳細は B<mq_open>(3) に説明されている。"
+"are described in B<mq_overview>(3)."
+msgstr "I<mq_maxmsg> と I<mq_msgsize> フィールドは B<mq_open>(3) でメッセージキューが作成される際にセットされる。 I<mq_maxmsg> フィールドは、 B<mq_send>(3) を使ってキューに入れることができるメッセージ数の上限である。 I<mq_msgsize> フィールドは、キューに入れることができるメッセージの 上限サイズである。 これらのフィールドはどちらも 0 より大きな値でなければならない。 これらのフィールドに設定できる値の上限は I</proc> ファイルにより決まる。 I</proc> ファイルの詳細は B<mq_overview>(7) に説明されている。"
#. type: Plain text
#: build/C/man3/mq_getattr.3:98
#. 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_open.3:162 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:382 build/C/man2/msgop.2:438
+#: build/C/man2/msgop.2:383 build/C/man2/msgop.2:439
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"
"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."
"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 ""
+
+#. 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 ""
+
+#. 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
+#, no-wrap
+msgid "Program course"
+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:208
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" mqd_t mqd;\n"
+" struct mq_attr attr;\n"
+msgstr ""
+"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:155
+#: 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)"
"シグナル番号ではない。"
#. type: TP
-#: build/C/man3/mq_notify.3:160 build/C/man3/mq_open.3:214
-#: build/C/man2/msgget.2:172 build/C/man2/msgop.2:393
+#: build/C/man3/mq_notify.3:160 build/C/man3/mq_open.3:220
+#: 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:223
msgid "Insufficient memory."
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 ""
msgid "MQ_OPEN"
msgstr "MQ_OPEN"
-#. type: TH
-#: build/C/man3/mq_open.3:26
-#, no-wrap
-msgid "2009-02-20"
-msgstr "2009-02-20"
-
#. type: Plain text
#: build/C/man3/mq_open.3:29
msgid "mq_open - open a message queue"
"すでに存在する場合、エラー B<EEXIST> で失敗する。"
#. type: Plain text
-#: build/C/man3/mq_open.3:123
+#: build/C/man3/mq_open.3:113
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."
-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 の場合、キューは実装で定義されたデフォルト属性で作成"
-"される。"
+"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 でマスクされる。"
#. type: Plain text
-#: build/C/man3/mq_open.3:135
+#: build/C/man3/mq_open.3:129
+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:141
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)\\ "
"I<errno> にエラーを示す値を設定する。"
#. type: TP
-#: build/C/man3/mq_open.3:136 build/C/man3/mq_open.3:140
+#: build/C/man3/mq_open.3:142 build/C/man3/mq_open.3:146
#: build/C/man3/mq_unlink.3:51 build/C/man2/msgctl.2:258
-#: build/C/man2/msgget.2:147 build/C/man2/msgop.2:357 build/C/man2/msgop.2:412
+#: 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:146
msgid ""
"The queue exists, but the caller does not have permission to open it in the "
"specified mode."
#. 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:151
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:155
+#: build/C/man3/mq_open.3:151 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:162
msgid ""
"Both B<O_CREAT> and B<O_EXCL> were specified in I<oflag>, but a queue with "
"this I<name> already exists."
"I<name> を持つキューがすでに存在する。"
#. type: Plain text
-#: build/C/man3/mq_open.3:188
+#: build/C/man3/mq_open.3:194
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 "
"B<mq_overview>(7) を参照。)"
#. type: TP
-#: build/C/man3/mq_open.3:188
+#: build/C/man3/mq_open.3:194
#, no-wrap
msgid "B<EMFILE>"
msgstr "B<EMFILE>"
#. type: Plain text
-#: build/C/man3/mq_open.3:192
+#: build/C/man3/mq_open.3:198
msgid ""
"The process already has the maximum number of files and message queues open."
msgstr ""
"限に達している。"
#. type: TP
-#: build/C/man3/mq_open.3:192 build/C/man3/mq_unlink.3:54
+#: build/C/man3/mq_open.3:198 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:202 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:202
#, no-wrap
msgid "B<ENFILE>"
msgstr "B<ENFILE>"
#. type: Plain text
-#: build/C/man3/mq_open.3:200
+#: build/C/man3/mq_open.3:206
msgid ""
"The system limit on the total number of open files and message queues has "
"been reached."
"限に達している。"
#. type: TP
-#: build/C/man3/mq_open.3:200 build/C/man3/mq_open.3:209
+#: build/C/man3/mq_open.3:206 build/C/man3/mq_open.3:215
#: 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:215
msgid ""
"The B<O_CREAT> flag was not specified in I<oflag>, and no queue with this "
"I<name> exists."
#. 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:220
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:176
+#: build/C/man3/mq_open.3:223 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:230
msgid ""
"Insufficient space for the creation of a new message queue. This probably "
"occurred because the I<queues_max> limit was encountered; see "
"I<queues_max> 上限に抵触したため起こったのだろう。 B<mq_overview>(7) を参"
"照。"
+#. type: Plain text
+#: build/C/man3/mq_open.3:235
+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:223
-#: build/C/man2/msgop.2:542
+#: build/C/man3/mq_open.3:237 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:241
msgid ""
"In kernels before 2.6.14, the process umask was not applied to the "
"permissions specified in I<mode>."
"定に適用されなかった。"
#. type: Plain text
-#: build/C/man3/mq_open.3:238
+#: build/C/man3/mq_open.3:249
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)"
#. 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
msgstr "/proc インタフェース"
#. 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 メッセージキューが消費するカーネル メモリ"
-"の量を制限することができる。"
#. 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."
-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>) "
-"では無視されるが、埋め込みの固定値による上限は どんな場合にでも適用される。"
+"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) である。 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 ""
+
+#. 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 ""
#. 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."
-msgstr ""
-"このファイルを使って、作成することができるメッセージキューの数に\t 対するシス"
-"テム全体での制限を参照したり変更したりできる。\t 一度この上限に達すると、新し"
-"いメッセージキューを作成できるのは\t 特権プロセス\t (B<CAP_SYS_RESOURCE>)\t "
-"だけとなる。\t I<queues_max\t> のデフォルト値は 256 であり、\t 0 から "
-"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 "このファイルを使って、作成可能なメッセージキュー数のシステム全体での制限を参照したり変更したりできる。 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 "
"照。"
#. type: SS
-#: build/C/man7/mq_overview.7:198
+#: build/C/man7/mq_overview.7:282
#, no-wrap
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 filesystem. (Other "
"implementations may also provide such a feature, but the details are likely "
"マンドを使うことで (スーパーユーザは) このファイルシステムをマウントできる:"
#. 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"
"#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 filesystem has been mounted, the message queues on the system can "
"be viewed and manipulated using the commands usually used for files (e.g., "
"表示したり 操作したりできる。"
#. 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:"
"る。"
#. 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"
"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 "
"われるかは、以下のフィールドにより決定される。"
#. 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>."
"通知方法: 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 "
"であり、 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 ""
+
+#. 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 "
"と 利用できるシステムが少ない (特に、古いシステムでは少ない)。"
#. 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."
"るアクセス制御リスト (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)."
"各種のメッセージキュー関数を使用した例が 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 ""
+
+#. 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<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
#. type: TH
#: build/C/man3/mq_receive.3:26 build/C/man3/mq_send.3:26
#, no-wrap
-msgid "2014-01-18"
-msgstr "2014-01-18"
+msgid "2014-06-03"
+msgstr "2014-06-03"
#. type: Plain text
#: build/C/man3/mq_receive.3:29
#. type: TP
#: build/C/man3/mq_receive.3:123 build/C/man3/mq_send.3:128
-#: build/C/man2/msgop.2:363 build/C/man2/msgop.2:418
+#: build/C/man2/msgop.2:364 build/C/man2/msgop.2:419
#, no-wrap
msgid "B<EAGAIN>"
msgstr "B<EAGAIN>"
#. type: TP
#: build/C/man3/mq_receive.3:134 build/C/man3/mq_send.3:139
-#: build/C/man2/msgop.2:379 build/C/man2/msgop.2:433
+#: build/C/man2/msgop.2:380 build/C/man2/msgop.2:434
#, no-wrap
msgid "B<EINTR>"
msgstr "B<EINTR>"
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."
"る。"
#. 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)"
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."
"ブラリ関数で、 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)"
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)"
msgstr "msgctl - System V メッセージ制御操作"
#. type: Plain text
-#: build/C/man2/msgctl.2:45 build/C/man2/msgget.2:43 build/C/man2/msgop.2:48
+#: 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"
"B<CAP_IPC_OWNER> ケーパビリティを持っていない。"
#. type: TP
-#: build/C/man2/msgctl.2:271 build/C/man2/msgop.2:371 build/C/man2/msgop.2:424
+#: 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: TP
-#: build/C/man2/msgctl.2:282 build/C/man2/msgop.2:376 build/C/man2/msgop.2:429
+#: 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:285 build/C/man2/msgop.2:379
+#: build/C/man2/msgctl.2:285 build/C/man2/msgop.2:380
msgid "The message queue was removed."
msgstr "メッセージキューが削除された。"
#. type: Plain text
#: build/C/man2/msgctl.2:328 build/C/man2/msgget.2:184
-#: build/C/man2/msgop.2:483
+#: build/C/man2/msgop.2:484
msgid "SVr4, POSIX.1-2001."
msgstr "SVr4, POSIX.1-2001."
#. the inclusion of these header files.
#. type: Plain text
#: build/C/man2/msgctl.2:341 build/C/man2/msgget.2:197
-#: build/C/man2/msgop.2:506
+#: 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 "
"B<mq_overview>(7), B<svipc>(7)"
#. type: TH
-#: build/C/man2/msgop.2:40
+#: build/C/man2/msgop.2:41
#, no-wrap
msgid "MSGOP"
msgstr "MSGOP"
#. type: TH
-#: build/C/man2/msgop.2:40
+#: build/C/man2/msgop.2:41
#, no-wrap
-msgid "2014-05-16"
-msgstr "2014-05-16"
+msgid "2014-08-19"
+msgstr "2014-08-19"
#. type: Plain text
-#: build/C/man2/msgop.2:43
+#: 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:51
+#: 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:55
+#: 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"
"B< int >I<msgflg>B<);>\n"
#. type: Plain text
-#: build/C/man2/msgop.2:65
+#: 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 System\\ V message queue. "
"を、 メッセージを受信するためには読み出し許可を持っていなければならない。"
#. type: Plain text
-#: build/C/man2/msgop.2:70
+#: build/C/man2/msgop.2:71
msgid ""
"The I<msgp> argument is a pointer to a caller-defined structure of the "
"following general form:"
"I<msgp> 引き数として渡す。"
#. type: Plain text
-#: build/C/man2/msgop.2:77
+#: build/C/man2/msgop.2:78
#, no-wrap
msgid ""
"struct msgbuf {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/msgop.2:96
+#: 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 "
"めに 使用される (下記の B<msgrcv>() の説明を参照のこと)。"
#. type: SS
-#: build/C/man2/msgop.2:96
+#: build/C/man2/msgop.2:97
#, no-wrap
msgid "msgsnd()"
msgstr "msgsnd()"
#. type: Plain text
-#: build/C/man2/msgop.2:104
+#: 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>."
"I<msqid> で指定された識別子を持つメッセージキューへ追加する。"
#. type: Plain text
-#: build/C/man2/msgop.2:117
+#: build/C/man2/msgop.2:118
msgid ""
"If sufficient space is available in the queue, B<msgsnd>() succeeds "
"immediately. The queue capacity is governed by the I<msg_qbytes> field in "
"B<msgctl>(2) を使って変更できる。 次のいずれかの条件が成立する場合に、メッ"
"セージキューは一杯と判断される。"
-#. type: IP
-#: build/C/man2/msgop.2:117 build/C/man2/msgop.2:122 build/C/man2/msgop.2:146
-#: build/C/man2/msgop.2:153 build/C/man2/msgop.2:220 build/C/man2/msgop.2:225
-#: build/C/man2/msgop.2:239 build/C/man2/msgop.2:307 build/C/man2/msgop.2:309
-#: build/C/man2/msgop.2:315
-#, no-wrap
-msgid "*"
-msgstr "*"
-
#. type: Plain text
-#: build/C/man2/msgop.2:122
+#: 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)."
"大サイズ (I<msg_qbytes> フィールド) を超過してしまう場合。"
#. type: Plain text
-#: build/C/man2/msgop.2:131
+#: 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). "
"メモリを消費するからである。"
#. type: Plain text
-#: build/C/man2/msgop.2:142
+#: 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> "
"た場合、 B<msgsnd>() はエラー B<EAGAIN> で失敗する。"
#. type: Plain text
-#: build/C/man2/msgop.2:146
+#: build/C/man2/msgop.2:147
msgid "A blocked B<msgsnd>() call may also fail if:"
msgstr "停止している B<msgsnd>() は以下の場合にも失敗する。"
#. type: Plain text
-#: build/C/man2/msgop.2:153
+#: 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:165
+#: 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 "
"で 自動的に再スタートすることは決してない。)"
#. type: Plain text
-#: build/C/man2/msgop.2:168 build/C/man2/msgop.2:329
+#: 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:"
"正常に終了した場合、メッセージキューのデータ構造体は以下のように 更新される:"
#. type: Plain text
-#: build/C/man2/msgop.2:171
+#: 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:174
+#: 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:177
+#: 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:177
+#: build/C/man2/msgop.2:178
#, no-wrap
msgid "msgrcv()"
msgstr "msgrcv()"
#. type: Plain text
-#: build/C/man2/msgop.2:185
+#: 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>."
"し、 I<msgp> で指定されたバッファにそのメッセージを格納する。"
#. type: Plain text
-#: build/C/man2/msgop.2:211
+#: 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 "
"B<E2BIG> が設定される。"
#. type: Plain text
-#: build/C/man2/msgop.2:220
+#: build/C/man2/msgop.2:221
msgid ""
"Unless B<MSG_COPY> is specified in I<msgflg> (see below), the I<msgtyp> "
"argument specifies the type of message requested, as follows:"
"には要求するメッセージの型を指定する。 型は以下のように指定する:"
#. type: Plain text
-#: build/C/man2/msgop.2:225
+#: 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:239
+#: 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 "
"る。"
#. type: Plain text
-#: build/C/man2/msgop.2:247
+#: 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 "
"キューの最初のメッセージが読み込まれる。"
#. type: Plain text
-#: build/C/man2/msgop.2:252
+#: 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:"
"定する:"
#. type: TP
-#: build/C/man2/msgop.2:252
+#: build/C/man2/msgop.2:253
#, no-wrap
msgid "B<IPC_NOWAIT>"
msgstr "B<IPC_NOWAIT>"
#. type: Plain text
-#: build/C/man2/msgop.2:259
+#: 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>."
"敗し、 I<errno> には B<ENOMSG> が設定される。"
#. type: TP
-#: build/C/man2/msgop.2:259
+#: 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:266
+#: 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 "
"れる)。"
#. type: Plain text
-#: build/C/man2/msgop.2:280
+#: 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 "
"用するため、この二つのフラグの両方を I<msgtyp> に指定することはできない。"
#. type: Plain text
-#: build/C/man2/msgop.2:288
+#: 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 "
"きる。"
#. type: TP
-#: build/C/man2/msgop.2:288
+#: build/C/man2/msgop.2:289
#, no-wrap
msgid "B<MSG_EXCEPT>"
msgstr "B<MSG_EXCEPT>"
#. type: Plain text
-#: build/C/man2/msgop.2:296
+#: 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>."
"セージを読み込む。"
#. type: TP
-#: build/C/man2/msgop.2:296
+#: build/C/man2/msgop.2:297
#, no-wrap
msgid "B<MSG_NOERROR>"
msgstr "B<MSG_NOERROR>"
#. type: Plain text
-#: build/C/man2/msgop.2:301
+#: 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:307
+#: 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 "
"(block) される:"
#. type: Plain text
-#: build/C/man2/msgop.2:309
+#: 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:315
+#: build/C/man2/msgop.2:316
msgid ""
"The message queue is removed from the system. In this case, the system call "
"fails with I<errno> set to B<EIDRM>."
"し、 I<errno> に B<EIDRM> が設定される。"
#. type: Plain text
-#: build/C/man2/msgop.2:326
+#: build/C/man2/msgop.2:327
msgid ""
"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 "
"込まれた後で 自動的に再スタートすることは決してない。)"
#. type: Plain text
-#: build/C/man2/msgop.2:332
+#: 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:335
+#: 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:338
+#: 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:351
+#: 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 "
"ピーしたバイト数を返す。"
#. type: Plain text
-#: build/C/man2/msgop.2:357
+#: build/C/man2/msgop.2:358
msgid ""
"When B<msgsnd>() fails, I<errno> will be set to one among the following "
"values:"
"B<msgsnd>() が失敗した場合、 B<errno> に以下の値のいずれかが設定される:"
#. type: Plain text
-#: build/C/man2/msgop.2:363
+#: 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."
"B<CAP_IPC_OWNER> ケーパビリティもない。"
#. type: Plain text
-#: build/C/man2/msgop.2:371
+#: 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>."
"かつ I<msgflg> に B<IPC_NOWAIT> が指定されていた。"
#. type: Plain text
-#: build/C/man2/msgop.2:376 build/C/man2/msgop.2:429
+#: 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:382
+#: build/C/man2/msgop.2:383
msgid ""
"Sleeping on a full message queue condition, the process caught a signal."
msgstr ""
"ルを捕獲した。"
#. type: Plain text
-#: build/C/man2/msgop.2:393
+#: 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>)."
"な値 (0 以下か、システムで決まる値 B<MSGMAX> よりも大きい値) である。"
#. type: Plain text
-#: build/C/man2/msgop.2:398
+#: 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>."
"ない。"
#. type: Plain text
-#: build/C/man2/msgop.2:404
+#: build/C/man2/msgop.2:405
msgid ""
"When B<msgrcv>() fails, I<errno> will be set to one among the following "
"values:"
"B<msgrcv>() が失敗した場合には I<errno> に以下の値のいずれかが設定される:"
#. type: TP
-#: build/C/man2/msgop.2:404
+#: build/C/man2/msgop.2:405
#, no-wrap
msgid "B<E2BIG>"
msgstr "B<E2BIG>"
#. type: Plain text
-#: build/C/man2/msgop.2:412
+#: 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>."
"B<MSG_NOERROR> が設定されていなかった。"
#. type: Plain text
-#: build/C/man2/msgop.2:418
+#: 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."
"B<CAP_IPC_OWNER> ケーパビリティもない。"
#. type: Plain text
-#: build/C/man2/msgop.2:424
+#: 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:433
+#: build/C/man2/msgop.2:434
msgid ""
"While the process was sleeping to receive a message, the message queue was "
"removed."
"された。"
#. type: Plain text
-#: build/C/man2/msgop.2:438
+#: 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)."
"した。 B<signal>(7) 参照。"
#. type: Plain text
-#: build/C/man2/msgop.2:444
+#: 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:444 build/C/man2/msgop.2:451
+#: 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:451
+#: 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:458
+#: 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:458 build/C/man2/msgop.2:464
+#: 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:464
+#: 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."
"のメッセージが存在しなかった。"
#. type: Plain text
-#: build/C/man2/msgop.2:474
+#: build/C/man2/msgop.2:475
msgid ""
"B<IPC_NOWAIT> and B<MSG_COPY> were specified in I<msgflg> and the queue "
"contains less than I<msgtyp> messages."
"I<msgtyp> 未満のメッセージしか入っていなかった。"
#. type: TP
-#: build/C/man2/msgop.2:474
+#: 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:481
+#: 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>."
#. MSG_COPY since glibc 2.18
#. type: Plain text
-#: build/C/man2/msgop.2:493
+#: 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 "
"には、機能検査マクロ B<_GNU_SOURCE> を定義する。"
#. type: Plain text
-#: build/C/man2/msgop.2:513
+#: build/C/man2/msgop.2:514
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."
-msgstr ""
-"I<msgp> 引き数は、 libc4, libc5, glibc 2.0, glibc 2.1 では I<struct msgbuf\\ "
-"*> と宣言されている。glibc 2.2 以降では、 SUSv2 と SUSv3 の要求通り、I<void"
-"\\ *> と宣言されている。"
+"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:517
+#: 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:517
+#: build/C/man2/msgop.2:518
#, no-wrap
msgid "B<MSGMAX>"
msgstr "B<MSGMAX>"
#. type: Plain text
-#: build/C/man2/msgop.2:522
+#: 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>)."
"proc/sys/kernel/msgmax> 経由で読み出したり変更したりできる)。"
#. type: TP
-#: build/C/man2/msgop.2:522
+#: build/C/man2/msgop.2:523
#, no-wrap
msgid "B<MSGMNB>"
msgstr "B<MSGMNB>"
#. type: Plain text
-#: build/C/man2/msgop.2:536
+#: 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>). A "
"B<MSGMNB> よりも大きい値に増やすことができる。"
#. type: Plain text
-#: build/C/man2/msgop.2:542
+#: 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>) に関して実装依存"
"の制限はない。"
-#. FIXME http://marc.info/?l=linux-kernel&m=139048542803605&w=2
+#. http://marc.info/?l=linux-kernel&m=139048542803605&w=2
#. commit 4f87dac386cc43d5525da7a939d4b4e7edbea22c
#. type: Plain text
-#: build/C/man2/msgop.2:562
+#: 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 "
"新たに書き込まれたメッセージのコピーを返していた。 このバグは Linux 3.14"
"で修正された。"
-#. FIXME http://marc.info/?l=linux-kernel&m=139048542803605&w=2
+#. http://marc.info/?l=linux-kernel&m=139048542803605&w=2
#. commit 4f87dac386cc43d5525da7a939d4b4e7edbea22c
#. type: Plain text
-#: build/C/man2/msgop.2:578
+#: build/C/man2/msgop.2:579
msgid ""
"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.14 で修正された。"
#. type: Plain text
-#: build/C/man2/msgop.2:584
+#: build/C/man2/msgop.2:585
msgid ""
"B<msgctl>(2), B<msgget>(2), B<capabilities>(7), B<mq_overview>(7), "
"B<svipc>(7)"