Re: Possible bug in wait4(), 2.1.126-129 ?

Theodore Y. Ts'o (tytso@mit.edu)
Wed, 25 Nov 1998 14:47:52 -0500


Date: Tue, 24 Nov 1998 21:17:03 -0500
From: "Brandon S. Allbery KF8NH" <allbery@kf8nh.apk.net>

+-----
| > Note that POSIX explicitly disallows setting the action
| > of SIGCHLD to SIG_IGN. It follows that crond and atd are
| > not POSIX compliant.
|
| Never mind POSIX though, as long as Linux allows it it ought to be
| documented, even if it has a big warning before it. Solaris certainly does
+--->8

It's not disallowed, it's undefined. The distinction is because BSD
4.x-derived Unixes and System III-derived Unixes do different things with
SIG_IGN of SIGCH?LD; instead of mandating one of them, POSIX explicitly
washes its hands of the matter and lets a POSIX-compliant system do either
(or launch Nethack :-)

Yes, it doesn't make sense to talk about user-programs like crond and
atd as being "complaint" or "non-compliant". It does make sense to talk
about whether an application falls into one of the following categories:

* Strictly Conforming POSIX.1 Application
* Conforming POSIX.1 Application
* Conforming POSIX.1 Application Using Extensions

See the POSIX.1 standard for more information, but a "Strictly
Conforming POSIX.1 Applcation" is required to accept any behaviour
described in POSIX as "unsecifed or implementation-defined". That's
basically another way of saying that a Strictly Conforming POSIX.1
Application has to be written in a portable way such that it will work
on any POSIX system.

So it is fair to say that crond and atd aren't "Strictly Conforming
POSIX.1 Applcations", and in the ideal world, they would get fixed to do
things in a more portable way.

- Ted

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/