Bug 243209 - man page for mq_open fails to specify all conditions that may cause an [EINVAL] error
Summary: man page for mq_open fails to specify all conditions that may cause an [EINVA...
Status: Open
Alias: None
Product: Documentation
Classification: Unclassified
Component: Manual Pages (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: needs-qa, patch
Depends on:
Blocks:
 
Reported: 2020-01-09 10:04 UTC by Ronald F. Guilmette
Modified: 2023-12-15 08:50 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ronald F. Guilmette 2020-01-09 10:04:54 UTC
The man page for the mq_open(2) function fails to state that another possible cause of the return value being set to -1, with error set to EINVAL, is that the call, if permitted, would cause one or another of the following kernel tunable limit parameters to be exceeded:


kern.mqueue.maxmq
kern.mqueue.maxmsgsize
kern.mqueue.maxmsg
Comment 1 Felix Johnson 2021-10-16 05:30:11 UTC
I created a Phabricator review for this:
https://reviews.freebsd.org/D32517

This documents the error case and the sysctls for mqueue.

I'm not sure if this system call page is the right place
to document sysctls.
Comment 2 Ronald F. Guilmette 2021-10-16 23:42:02 UTC
I disagree. As a general matter, all possible causes of syscall failures should be documented on the relevant man page (for the syscall).
Comment 3 unitrunker 2023-12-15 08:50:19 UTC
As a follow up, here is another failure scenario for mq_open: the kernel module is not loaded.

Recent versions of FreeBSD made this a loadable module instead of baked into the kernel image.

The mq_open man page should reflect this. I think the error code is ENOSYS or 78 - Function not implemented.