Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 05 Jan 2020 04:53:41 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 243103] fork fails to clone open message queue handles into the child process (in violation of POSIX std.)
Message-ID:  <bug-243103-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

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@FreeBSD.org
          Reporter: rfg-freebsd@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.

help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-243103-227>