This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2] Remove union wait (was: Re: Deprecate union wait and remove support from wait functions [BZ #19613])
- From: Roland McGrath <roland at hack dot frob dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Wed, 30 Mar 2016 15:47:04 -0700 (PDT)
- Subject: Re: [PATCH v2] Remove union wait (was: Re: Deprecate union wait and remove support from wait functions [BZ #19613])
- 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>
All the code substance of the change looks fine to me (separate from the
high-level issue of whether to do this change now).
> --- a/NEWS
> +++ b/NEWS
> @@ -21,6 +21,10 @@ Version 2.24
> * The readdir_r and readdir64_r functions have been deprecated. It is
> recommended to use readdir and readdir64 instead.
>
> +* The type union wait has been removed.
I would put some punctuation of some sort around the two-word type name.
Perhaps 'union wait'.
> 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. 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).
Looking at https://svnweb.freebsd.org/base/head/sys/sys/wait.h AFAICT
FreeBSD's trunk version dropped 'union wait' entirely in 2002. I'm not
sure what the first FreeBSD release version was that lacked it.
> Application code should use the int type instead of union
> + wait.
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.
> diff --git a/manual/process.texi b/manual/process.texi
> index aa59040..25bdb8e 100644
> --- a/manual/process.texi
> +++ b/manual/process.texi
> @@ -763,53 +763,17 @@ signal number of the signal that caused the child process to stop.
>
>
> @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.
Thanks,
Roland