OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[linuxjm/LDP_man-pages.git] / po4a / mqueue / po / mqueue.pot
index 36e9b8e..ba65126 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2014-04-17 13:14+0900\n"
+"POT-Creation-Date: 2015-02-04 23:32+0900\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -23,25 +23,25 @@ msgid "MQ_CLOSE"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/mq_close.3:26 build/C/man3/mq_getattr.3: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"
+msgid "2014-06-13"
 msgstr ""
 
 #. 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:37 build/C/man2/msgget.2:35 build/C/man2/msgop.2:40
+#: 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:37 build/C/man2/msgget.2:35 build/C/man2/msgop.2:41
 #, no-wrap
 msgid "Linux"
 msgstr ""
 
 #. 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:37 build/C/man2/msgget.2:35 build/C/man2/msgop.2:40
+#: 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:37 build/C/man2/msgget.2:35 build/C/man2/msgop.2:41
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr ""
 
 #. type: SH
-#: build/C/man3/mq_close.3:27 build/C/man3/mq_getattr.3:27 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:38 build/C/man2/msgget.2:36 build/C/man2/msgop.2:41
+#: build/C/man3/mq_close.3:27 build/C/man3/mq_getattr.3:27 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:38 build/C/man2/msgget.2:36 build/C/man2/msgop.2:42
 #, no-wrap
 msgid "NAME"
 msgstr ""
@@ -52,7 +52,7 @@ msgid "mq_close - close a message queue descriptor"
 msgstr ""
 
 #. type: SH
-#: build/C/man3/mq_close.3:29 build/C/man3/mq_getattr.3:29 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/man3/mq_close.3:29 build/C/man3/mq_getattr.3:29 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:44
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr ""
@@ -75,7 +75,7 @@ msgid "Link with I<-lrt>."
 msgstr ""
 
 #. type: SH
-#: build/C/man3/mq_close.3:37 build/C/man3/mq_getattr.3:40 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:48 build/C/man2/msgget.2:46 build/C/man2/msgop.2:56
+#: build/C/man3/mq_close.3:37 build/C/man3/mq_getattr.3:40 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:48 build/C/man2/msgget.2:46 build/C/man2/msgop.2:57
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr ""
@@ -94,7 +94,7 @@ msgid ""
 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_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:321
+#: 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: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:229 build/C/man2/msgget.2:137 build/C/man2/msgop.2:339
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr ""
@@ -107,7 +107,7 @@ msgid ""
 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_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:334
+#: 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: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:254 build/C/man2/msgget.2:143 build/C/man2/msgop.2:352
 #, no-wrap
 msgid "ERRORS"
 msgstr ""
@@ -124,54 +124,72 @@ msgid "The descriptor specified in I<mqdes> is invalid."
 msgstr ""
 
 #. type: SH
-#: build/C/man3/mq_close.3:59 build/C/man3/mq_getattr.3:137 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:183 build/C/man2/msgop.2:464
+#: build/C/man3/mq_close.3:59 build/C/man3/mq_getattr.3:137 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 ""
+
+#. type: Plain text
+#: build/C/man3/mq_close.3:64
+msgid "The B<mq_close>()  function is thread-safe."
+msgstr ""
+
+#. 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 ""
 
 #. 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/man2/msgctl.2:328 build/C/man2/msgget.2:185 build/C/man2/msgop.2:476
+#: 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)."
 msgstr ""
 
 #. type: SH
-#: build/C/man3/mq_close.3:65 build/C/man3/mq_getattr.3:147 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:230 build/C/man2/msgop.2:557
+#: 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)"
 msgstr ""
 
 #. type: SH
-#: build/C/man3/mq_close.3:73 build/C/man3/mq_getattr.3:155 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:238 build/C/man2/msgop.2:563
+#: 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:66 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:381 build/C/man2/msgget.2:245 build/C/man2/msgop.2:570
+#: 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.64 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 ""
 
 #. type: TH
@@ -180,6 +198,12 @@ msgstr ""
 msgid "MQ_GETATTR"
 msgstr ""
 
+#. type: TH
+#: build/C/man3/mq_getattr.3:26
+#, no-wrap
+msgid "2014-10-02"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man3/mq_getattr.3:29
 msgid "mq_getattr, mq_setattr - get/set message queue attributes"
@@ -195,7 +219,7 @@ msgstr ""
 #: 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 ""
 
@@ -243,7 +267,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 ""
 
 #. type: Plain text
@@ -273,7 +297,7 @@ msgid ""
 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:285 build/C/man2/msgop.2:365 build/C/man2/msgop.2:421
+#: build/C/man3/mq_getattr.3:132 build/C/man3/mq_notify.3:150 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 ""
@@ -284,14 +308,151 @@ msgid "I<newattr-E<gt>mq_flags> contained set bits other than B<O_NONBLOCK>."
 msgstr ""
 
 #. 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 ""
+
+#. 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."
 msgstr ""
 
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
 #. type: Plain text
-#: build/C/man3/mq_getattr.3:155
+#: 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. type: Plain text
+#: build/C/man3/mq_getattr.3:229
+#, no-wrap
+msgid ""
+"    exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+
+#. 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)"
@@ -534,13 +695,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mq_notify.3:160 build/C/man3/mq_open.3:214 build/C/man2/msgget.2:173 build/C/man2/msgop.2:376
+#: 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 ""
 
 #. 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 ""
 
@@ -553,12 +714,6 @@ msgid ""
 "notifications for the queue I<mqdes>."
 msgstr ""
 
-#. 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 ""
@@ -568,12 +723,6 @@ msgid ""
 "queue and then terminates the process."
 msgstr ""
 
-#. type: SS
-#: build/C/man3/mq_notify.3:182
-#, no-wrap
-msgid "Program source"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/mq_notify.3:189
 #, no-wrap
@@ -708,7 +857,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/mq_open.3:26
 #, no-wrap
-msgid "2009-02-20"
+msgid "2014-12-31"
 msgstr ""
 
 #. type: Plain text
@@ -793,26 +942,26 @@ msgstr ""
 #. type: TP
 #: build/C/man3/mq_open.3:72
 #, no-wrap
-msgid "B<O_NONBLOCK>"
+msgid "B<O_CLOEXEC> (since Linux 2.6.26)"
 msgstr ""
 
+#.  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 ""
 
 #. type: TP
-#: build/C/man3/mq_open.3:81
+#: build/C/man3/mq_open.3:79
 #, no-wrap
 msgid "B<O_CREAT>"
 msgstr ""
 
 #.  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 "
@@ -821,33 +970,54 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mq_open.3:89
+#: build/C/man3/mq_open.3:87
 #, no-wrap
 msgid "B<O_EXCL>"
 msgstr ""
 
 #. 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>."
 msgstr ""
 
+#. type: TP
+#: build/C/man3/mq_open.3:97
+#, no-wrap
+msgid "B<O_NONBLOCK>"
+msgstr ""
+
+#. 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 ""
+
 #. 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 ""
+
+#. type: Plain text
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man3/mq_open.3:135
+#: 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)\\ "
@@ -855,13 +1025,13 @@ msgid ""
 msgstr ""
 
 #. 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:258 build/C/man2/msgget.2:147 build/C/man2/msgop.2:340 build/C/man2/msgop.2:395
+#: 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 ""
 
 #. 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."
@@ -869,25 +1039,25 @@ 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 ""
 
 #. type: TP
-#: build/C/man3/mq_open.3:145 build/C/man2/msgget.2:155
+#: build/C/man3/mq_open.3:158 build/C/man2/msgget.2:155
 #, no-wrap
 msgid "B<EEXIST>"
 msgstr ""
 
 #. 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."
 msgstr ""
 
 #. 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 "
@@ -901,48 +1071,48 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mq_open.3:188
+#: build/C/man3/mq_open.3:201
 #, no-wrap
 msgid "B<EMFILE>"
 msgstr ""
 
 #. 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 ""
 
 #. 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 ""
 
 #. 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 ""
 
 #. type: TP
-#: build/C/man3/mq_open.3:196
+#: build/C/man3/mq_open.3:209
 #, no-wrap
 msgid "B<ENFILE>"
 msgstr ""
 
 #. 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."
 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:165
+#: 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 ""
 
 #. 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."
@@ -950,39 +1120,44 @@ 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 ""
 
 #. type: TP
-#: build/C/man3/mq_open.3:217 build/C/man2/msgget.2:177
+#: build/C/man3/mq_open.3:230 build/C/man2/msgget.2:176
 #, no-wrap
 msgid "B<ENOSPC>"
 msgstr ""
 
 #. 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)."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man3/mq_open.3:242
+msgid "The B<mq_open>()  function is thread-safe."
+msgstr ""
+
 #. type: SH
-#: build/C/man3/mq_open.3:226 build/C/man2/msgget.2:224 build/C/man2/msgop.2:521
+#: 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>."
 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)"
@@ -997,7 +1172,7 @@ msgstr ""
 #. type: TH
 #: build/C/man7/mq_overview.7:26
 #, no-wrap
-msgid "2009-09-27"
+msgid "2014-09-21"
 msgstr ""
 
 #. type: Plain text
@@ -1208,72 +1383,157 @@ msgid "/proc interfaces"
 msgstr ""
 
 #. 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 ""
 
 #. type: TP
-#: build/C/man7/mq_overview.7:141
+#: build/C/man7/mq_overview.7:142
+#, no-wrap
+msgid "I</proc/sys/fs/mqueue/msg_default> (since Linux 3.5)"
+msgstr ""
+
+#. 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 ""
+
+#. type: TP
+#: build/C/man7/mq_overview.7:166
 #, no-wrap
 msgid "I</proc/sys/fs/mqueue/msg_max>"
 msgstr ""
 
 #. 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."
+"2.6.28).  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 ""
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:191
+msgid "The definition of B<HARD_MSGMAX> has changed across kernel versions:"
+msgstr ""
+
+#. 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 ""
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:198
+msgid "Linux 2.6.33 to 3.4: I<(32768\\ *\\ sizeof(void\\ *) / 4)>"
+msgstr ""
+
+#.  commit 5b5c4d1a1440e94994c73dddbad7be0676cd8b9a
+#. type: Plain text
+#: build/C/man7/mq_overview.7:202
+msgid "Since Linux 3.5: 65,536"
+msgstr ""
+
+#. type: TP
+#: build/C/man7/mq_overview.7:203
+#, no-wrap
+msgid "I</proc/sys/fs/mqueue/msgsize_default> (since Linux 3.5)"
+msgstr ""
+
+#. 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:162
+#: build/C/man7/mq_overview.7:230
 #, no-wrap
 msgid "I</proc/sys/fs/mqueue/msgsize_max>"
 msgstr ""
 
 #. 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>)."
+"limit for I<msgsize_max> has varied across kernel versions:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/mq_overview.7:249
+msgid "Before Linux 2.6.28, the upper limit is B<INT_MAX>."
+msgstr ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
 
 #. 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 ""
 
 #. 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 "
@@ -1281,13 +1541,13 @@ msgid ""
 msgstr ""
 
 #. 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 "
@@ -1296,7 +1556,7 @@ msgid ""
 msgstr ""
 
 #. 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"
@@ -1304,12 +1564,12 @@ msgid ""
 msgstr ""
 
 #. 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 ""
 
 #. 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., "
@@ -1317,14 +1577,14 @@ msgid ""
 msgstr ""
 
 #. 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:"
 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"
@@ -1332,29 +1592,29 @@ msgid ""
 msgstr ""
 
 #. 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 ""
 
 #. 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 ""
 
 #. 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 "
@@ -1362,45 +1622,58 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man7/mq_overview.7:241
+#: build/C/man7/mq_overview.7:325
 #, no-wrap
 msgid "B<NOTIFY>"
 msgstr ""
 
 #. 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>."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/mq_overview.7:251
+#: build/C/man7/mq_overview.7:335
 #, no-wrap
 msgid "B<SIGNO>"
 msgstr ""
 
 #. 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 ""
 
 #. 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 ""
 
+#. type: SS
+#: build/C/man7/mq_overview.7:347
+#, no-wrap
+msgid "IPC namespaces"
+msgstr ""
+
 #. 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 "
@@ -1410,25 +1683,36 @@ msgid ""
 msgstr ""
 
 #. 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."
 msgstr ""
 
 #. 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)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/mq_overview.7:294
+#: build/C/man7/mq_overview.7:378
+msgid ""
+"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 ""
 
 #. type: TH
@@ -1440,7 +1724,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/mq_receive.3:26 build/C/man3/mq_send.3:26
 #, no-wrap
-msgid "2014-01-18"
+msgid "2014-06-03"
 msgstr ""
 
 #. type: Plain text
@@ -1546,7 +1830,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mq_receive.3:123 build/C/man3/mq_send.3:128 build/C/man2/msgop.2:346 build/C/man2/msgop.2:401
+#: build/C/man3/mq_receive.3:123 build/C/man3/mq_send.3:128 build/C/man2/msgop.2:364 build/C/man2/msgop.2:419
 #, no-wrap
 msgid "B<EAGAIN>"
 msgstr ""
@@ -1564,7 +1848,7 @@ msgid "The descriptor specified in I<mqdes> was invalid."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mq_receive.3:134 build/C/man3/mq_send.3:139 build/C/man2/msgop.2:362 build/C/man2/msgop.2:416
+#: build/C/man3/mq_receive.3:134 build/C/man3/mq_send.3:139 build/C/man2/msgop.2:380 build/C/man2/msgop.2:434
 #, no-wrap
 msgid "B<EINTR>"
 msgstr ""
@@ -1605,14 +1889,19 @@ 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 ""
+
+#. 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."
 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)"
@@ -1721,14 +2010,19 @@ msgid ""
 msgstr ""
 
 #. 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 ""
+
+#. 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."
 msgstr ""
 
 #. 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)"
@@ -1778,7 +2072,12 @@ msgid "There is no message queue with the given I<name>."
 msgstr ""
 
 #. 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 ""
+
+#. 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)"
@@ -1802,7 +2101,7 @@ msgid "msgctl - System V message control operations"
 msgstr ""
 
 #. 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"
@@ -1820,7 +2119,7 @@ msgstr ""
 #: build/C/man2/msgctl.2:54
 msgid ""
 "B<msgctl>()  performs the control operation specified by I<cmd> on the "
-"System V message queue with identifier I<msqid>."
+"System\\ V message queue with identifier I<msqid>."
 msgstr ""
 
 #. type: Plain text
@@ -1937,7 +2236,7 @@ msgstr ""
 #. type: Plain text
 #: 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:"
@@ -1986,7 +2285,7 @@ msgstr ""
 #. type: Plain text
 #: 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 "
@@ -2004,7 +2303,7 @@ msgstr ""
 #. type: Plain text
 #: 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."
@@ -2041,7 +2340,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgctl.2:271 build/C/man2/msgop.2:354 build/C/man2/msgop.2:407
+#: build/C/man2/msgctl.2:271 build/C/man2/msgop.2:372 build/C/man2/msgop.2:425
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr ""
@@ -2054,13 +2353,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgctl.2:282 build/C/man2/msgop.2:359 build/C/man2/msgop.2:412
+#: build/C/man2/msgctl.2:282 build/C/man2/msgop.2:377 build/C/man2/msgop.2:430
 #, no-wrap
 msgid "B<EIDRM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:285 build/C/man2/msgop.2:362
+#: build/C/man2/msgctl.2:285 build/C/man2/msgop.2:380
 msgid "The message queue was removed."
 msgstr ""
 
@@ -2097,14 +2396,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgctl.2:328 build/C/man2/msgget.2:185 build/C/man2/msgop.2:466
+#: build/C/man2/msgctl.2:328 build/C/man2/msgget.2:184 build/C/man2/msgop.2:484
 msgid "SVr4, POSIX.1-2001."
 msgstr ""
 
 #.  Like Linux, the FreeBSD man pages still document
 #.  the inclusion of these header files.
 #. type: Plain text
-#: build/C/man2/msgctl.2:341 build/C/man2/msgget.2:198 build/C/man2/msgop.2:489
+#: 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 "
@@ -2146,7 +2445,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/msgget.2:35
 #, no-wrap
-msgid "2012-05-31"
+msgid "2014-04-30"
 msgstr ""
 
 #. type: Plain text
@@ -2163,7 +2462,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/msgget.2:67
 msgid ""
-"The B<msgget>()  system call returns the System V message queue identifier "
+"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 "
@@ -2261,35 +2560,35 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:165
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:173
+#: build/C/man2/msgget.2:172
 msgid ""
 "No message queue exists for I<key> and I<msgflg> did not specify "
 "B<IPC_CREAT>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:177
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:183
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:208
+#: 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 "
@@ -2298,71 +2597,71 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:212
+#: build/C/man2/msgget.2:211
 msgid ""
 "The following is a system limit on message queue resources affecting a "
 "B<msgget>()  call:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgget.2:212
+#: build/C/man2/msgget.2:211
 #, no-wrap
 msgid "B<MSGMNI>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:218
+#: 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 ""
 
 #. type: SS
-#: build/C/man2/msgget.2:218
+#: build/C/man2/msgget.2:217
 #, no-wrap
 msgid "Linux notes"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:224
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:230
+#: 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."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgget.2:238
+#: 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)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/msgop.2:40
+#: build/C/man2/msgop.2:41
 #, no-wrap
 msgid "MSGOP"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/msgop.2:40
+#: build/C/man2/msgop.2:41
 #, no-wrap
-msgid "2014-03-17"
+msgid "2014-08-19"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:43
+#: build/C/man2/msgop.2:44
 msgid "msgrcv, msgsnd - System V message queue operations"
 msgstr ""
 
 #. 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<, "
@@ -2370,7 +2669,7 @@ msgid ""
 msgstr ""
 
 #. 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 "
@@ -2379,23 +2678,23 @@ msgid ""
 msgstr ""
 
 #. 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.  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 ""
 
 #. 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:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:77
+#: build/C/man2/msgop.2:78
 #, no-wrap
 msgid ""
 "struct msgbuf {\n"
@@ -2405,7 +2704,7 @@ msgid ""
 msgstr ""
 
 #. 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 "
@@ -2415,51 +2714,69 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/msgop.2:96
+#: build/C/man2/msgop.2:97
 #, no-wrap
 msgid "msgsnd()"
 msgstr ""
 
 #. 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>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:125
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:129
-msgid "A blocked B<msgsnd>()  call may also fail if:"
+#: 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 ""
 
-#. type: IP
-#: build/C/man2/msgop.2:129 build/C/man2/msgop.2:136 build/C/man2/msgop.2:203 build/C/man2/msgop.2:208 build/C/man2/msgop.2:222 build/C/man2/msgop.2:290 build/C/man2/msgop.2:292 build/C/man2/msgop.2:298
-#, no-wrap
-msgid "*"
+#. 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:136
+#: 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 ""
+
+#. type: Plain text
+#: build/C/man2/msgop.2:147
+msgid "A blocked B<msgsnd>()  call may also fail if:"
+msgstr ""
+
+#. type: Plain text
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:148
+#: 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 "
@@ -2468,42 +2785,42 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:151 build/C/man2/msgop.2:312
+#: 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:154
+#: build/C/man2/msgop.2:172
 msgid "I<msg_lspid> is set to the process ID of the calling process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:157
+#: build/C/man2/msgop.2:175
 msgid "I<msg_qnum> is incremented by 1."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:160
+#: build/C/man2/msgop.2:178
 msgid "I<msg_stime> is set to the current time."
 msgstr ""
 
 #. type: SS
-#: build/C/man2/msgop.2:160
+#: build/C/man2/msgop.2:178
 #, no-wrap
 msgid "msgrcv()"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:168
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:194
+#: 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 "
@@ -2516,19 +2833,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:203
+#: 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:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:208
+#: build/C/man2/msgop.2:226
 msgid "If I<msgtyp> is 0, then the first message in the queue is read."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:222
+#: 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 "
@@ -2537,7 +2854,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:230
+#: 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 "
@@ -2545,34 +2862,34 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:235
+#: 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:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:235
+#: build/C/man2/msgop.2:253
 #, no-wrap
 msgid "B<IPC_NOWAIT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:242
+#: 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>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:242
+#: build/C/man2/msgop.2:260
 #, no-wrap
 msgid "B<MSG_COPY> (since Linux 3.8)"
 msgstr ""
 
 #.  commit 4a674f34ba04a002244edaf891b5da7fc1473ae8
 #. type: Plain text
-#: build/C/man2/msgop.2:249
+#: 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 "
@@ -2580,7 +2897,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:263
+#: 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 "
@@ -2590,7 +2907,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:271
+#: 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 "
@@ -2598,31 +2915,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:271
+#: build/C/man2/msgop.2:289
 #, no-wrap
 msgid "B<MSG_EXCEPT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:279
+#: 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>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:279
+#: build/C/man2/msgop.2:297
 #, no-wrap
 msgid "B<MSG_NOERROR>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:284
+#: build/C/man2/msgop.2:302
 msgid "To truncate the message text if longer than I<msgsz> bytes."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:290
+#: 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 "
@@ -2630,19 +2947,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:292
+#: 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:298
+#: 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>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:309
+#: 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 "
@@ -2651,22 +2968,22 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:315
+#: build/C/man2/msgop.2:333
 msgid "I<msg_lrpid> is set to the process ID of the calling process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:318
+#: build/C/man2/msgop.2:336
 msgid "I<msg_qnum> is decremented by 1."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:321
+#: build/C/man2/msgop.2:339
 msgid "I<msg_rtime> is set to the current time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:334
+#: 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 "
@@ -2674,147 +2991,147 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:340
+#: build/C/man2/msgop.2:358
 msgid ""
 "When B<msgsnd>()  fails, I<errno> will be set to one among the following "
 "values:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:346
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:354
+#: 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>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:359 build/C/man2/msgop.2:412
+#: build/C/man2/msgop.2:377 build/C/man2/msgop.2:430
 msgid "The address pointed to by I<msgp> isn't accessible."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:365
+#: 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:376
+#: 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>)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:381
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:387
+#: build/C/man2/msgop.2:405
 msgid ""
 "When B<msgrcv>()  fails, I<errno> will be set to one among the following "
 "values:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:387
+#: build/C/man2/msgop.2:405
 #, no-wrap
 msgid "B<E2BIG>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:395
+#: 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>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:401
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:407
+#: build/C/man2/msgop.2:425
 msgid ""
 "No message was available in the queue and B<IPC_NOWAIT> was specified in "
 "I<msgflg>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:416
+#: build/C/man2/msgop.2:434
 msgid ""
 "While the process was sleeping to receive a message, the message queue was "
 "removed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:421
+#: 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)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:427
+#: build/C/man2/msgop.2:445
 msgid "I<msgqid> was invalid, or I<msgsz> was less than 0."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:427 build/C/man2/msgop.2:434
+#: build/C/man2/msgop.2:445 build/C/man2/msgop.2:452
 #, no-wrap
 msgid "B<EINVAL> (since Linux 3.14)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:434
+#: build/C/man2/msgop.2:452
 msgid "I<msgflg> specified B<MSG_COPY>, but not B<IPC_NOWAIT>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:441
+#: build/C/man2/msgop.2:459
 msgid "I<msgflg> specified both B<MSG_COPY> and B<MSG_EXCEPT>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:441 build/C/man2/msgop.2:447
+#: build/C/man2/msgop.2:459 build/C/man2/msgop.2:465
 #, no-wrap
 msgid "B<ENOMSG>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:447
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:457
+#: 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."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:457
+#: build/C/man2/msgop.2:475
 #, no-wrap
 msgid "B<ENOSYS> (since Linux 3.8)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:464
+#: 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>."
@@ -2822,7 +3139,7 @@ msgstr ""
 
 #.  MSG_COPY since glibc 2.18
 #. type: Plain text
-#: build/C/man2/msgop.2:476
+#: 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 "
@@ -2830,60 +3147,61 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:496
+#: 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."
+"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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:500
+#: build/C/man2/msgop.2:518
 msgid ""
 "The following limits on message queue resources affect the B<msgsnd>()  "
 "call:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:500
+#: build/C/man2/msgop.2:518
 #, no-wrap
 msgid "B<MSGMAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:505
+#: 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>)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/msgop.2:505
+#: build/C/man2/msgop.2:523
 #, no-wrap
 msgid "B<MSGMNB>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:515
+#: 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 ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:521
+#: build/C/man2/msgop.2:543
 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>)."
+"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 ""
 
-#.  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:541
+#: 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 "
@@ -2893,10 +3211,10 @@ msgid ""
 "I<msgtyp>.  This bug is fixed in Linux 3.14."
 msgstr ""
 
-#.  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:557
+#: 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 "
@@ -2905,7 +3223,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msgop.2:563
+#: build/C/man2/msgop.2:585
 msgid ""
 "B<msgctl>(2), B<msgget>(2), B<capabilities>(7), B<mq_overview>(7), "
 "B<svipc>(7)"