NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

standards/51024: NetBSD misses the mandatory waitid() syscall



>Number:         51024
>Category:       standards
>Synopsis:       NetBSD misses the mandatory waitid() syscall
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    standards-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 30 10:00:00 +0000 2016
>Originator:     Jörg Schilling
>Release:        any
>Organization:
Fraunhofer FOKUS
>Environment:
any
>Description:
Since the mid-1990s, the waitid() call (that first appeared in 1998
with SVr4) was added to the single unix specification.

This call is missing in NetBSD even though this is a mandatory interface.

Note that the relevant standard text was correct when the interface
has been introduced into the standard in the mid 1990s. Unfortunately,
this correct text was damaged in the late 1990s. The related POSIX
standard was fixed in 2012 and the new text was approved in 2013.

See the related entry in the bugtracking system:

http://austingroupbugs.net/view.php?id=594

BTW: FreeBSD had waitid() already but implemented is incorrectly
with a masked with 0xFF exit code. FreeBSD fixed their bug in May
2015 within 20 hours after making a bug report.
>How-To-Repeat:
Try to compile a program that calls waitid()
>Fix:
Introduce waitid() and make sure that the siginfo_t * delivers 
the full 32 bits from the exit() call of the child to waitid()
and the SIGCHLD signal handler.



Home | Main Index | Thread Index | Old Index