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>