From 3e9f4fd6fc50300d052d5619d82a14d3488483d5 Mon Sep 17 00:00:00 2001 From: Kit Dallege Date: Thu, 2 Apr 2026 19:37:49 +0200 Subject: [PATCH] mq_open(2): document sysctl limit EINVAL and ENFILE conditions Document two missing error conditions for mq_open(2): - EINVAL: returned when mq_maxmsg exceeds kern.mqueue.maxmsg or mq_msgsize exceeds kern.mqueue.maxmsgsize. - ENFILE: add kern.mqueue.maxmq sysctl name to the existing entry. PR: 243209 Reviewed by: mhorne MFC after: 1 week Signed-off-by: Kit Dallege Pull Request: https://github.com/freebsd/freebsd-src/pull/2098 --- lib/libsys/mq_open.2 | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/libsys/mq_open.2 b/lib/libsys/mq_open.2 index 4800ab18de5..f0b8618f62a 100644 --- a/lib/libsys/mq_open.2 +++ b/lib/libsys/mq_open.2 @@ -35,7 +35,7 @@ .\" the referee document. The original Standard can be obtained online at .\" http://www.opengroup.org/unix/online.html. .\" -.Dd May 15, 2024 +.Dd April 2, 2026 .Dt MQ_OPEN 2 .Os .Sh NAME @@ -282,6 +282,24 @@ and either or .Va mq_msgsize was less than or equal to zero. +.It Bq Er EINVAL +.Dv O_CREAT +was specified in +.Fa oflag , +the value of +.Fa attr +is not +.Dv NULL , +and either +.Va mq_maxmsg +exceeds the +.Va kern.mqueue.maxmsg +sysctl limit, +or +.Va mq_msgsize +exceeds the +.Va kern.mqueue.maxmsgsize +sysctl limit. .It Bq Er EMFILE Too many message queue descriptors or file descriptors are currently in use by this process. @@ -295,6 +313,9 @@ is longer than .Brq Dv NAME_MAX . .It Bq Er ENFILE Too many message queues are currently open in the system. +The system limit is controlled by the +.Va kern.mqueue.maxmq +sysctl. .It Bq Er ENOENT .Dv O_CREAT is not set and the named message queue does not exist.