This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2] Remove union wait
- From: Florian Weimer <fweimer at redhat dot com>
- To: Roland McGrath <roland at hack dot frob dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Fri, 1 Apr 2016 23:42:09 +0200
- Subject: Re: [PATCH v2] Remove union wait
- Authentication-results: sourceware.org; auth=none
- References: <56BE07C8 dot 40205 at redhat dot com> <20160307225511 dot 093E92C3BF5 at topped-with-meat dot com> <56DEA20E dot 3040907 at redhat dot com> <20160330224704 dot 81D102C3C51 at topped-with-meat dot com>
On 03/31/2016 12:47 AM, Roland McGrath wrote:
>> It was obsoleted by 4.3+BSD in the
>> + early 1990s.
>
> This is inaccurate. 'union wait *' was the sole type for wait and wait3 in
> 4.3BSD.
Oh. I wasn't aware that 4.3+BSD was a term made up by Richard Stevens
for the 1993 edition of Advanced Programming in the UNIX Environment
(which predates 4.4BSD).
> As of 4.4-BSD-Lite2 (1995), the functions' prototypes used 'int *'
> (so there would be a compiler warning passing 'union wait *' to them, but
> it would still work), the 'union wait' type was still present, and the W*
> macros worked with either (by virtue of a sloppy cast in the macros).
In any case, union wait is not documented at all in the book.
> Perhaps it's simpler just to say that it's been obsolete ever since the
> standardization of POSIX.1 and rarely used "for 20 years or more" or
> something like that.
There is the incorrect feature macro check in tcsh (yet another
instance, they accidentally replaced the system malloc due to the same
mistake), as identified by Andreas' rebuild. It's the only failure I
saw among the results, though.
>> @node BSD Wait Functions
>> -@section BSD Process Wait Functions
>> +@section BSD Process Wait Function
>
> This should probably be more thoroughly rewritten, probably dropping the
> section and describing wait3 as obsolete just alongside wait4.
That's a separate patch, right?
Florian