[Bug 243103] fork fails to clone open message queue handles into the child process (in violation of POSIX std.)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Jan 5 04:53:43 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243103
Bug ID: 243103
Summary: fork fails to clone open message queue handles into
the child process (in violation of POSIX std.)
Product: Base System
Version: 12.0-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: rfg-freebsd at tristatelogic.com
POSIX POSIX 1003.1b-1993 in Section Section 3.1.1.2(14) requires that the
fork() system call must clone all currently open message queue descriptors into
the child process. Currently, the FreeBSD kernel is evidently failing to do
this, as is illustrated by the following simple test program:
https://pastebin.com/raw/Dya0XEhf
(Note that the test program works fine and produces the desired and expected
results when compiled and run under Ubuntu 18.04 LTS.)
I am NOT the first person to have noticed this very serious and fundamental
kernel non-conformance with the POSIX standard:
https://stackoverflow.com/questions/19500194/freebsd-doesnt-preserve-posix-message-queue-descriptions-over-forks
https://forums.freebsd.org/threads/fork-does-not-properly-copy-posix-message-queue-descriptions.42678/
P.S. If it were possible to do so, I would mark this as "URGENT". For me,
this particular non-feature in the kernel is likely to cause great
difficulties.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list