[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