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/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D243103

            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-messag=
e-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.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



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