This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Deprecate union wait and remove support from wait functions [BZ #19613]


I don't see a rationale for keeping union wait at all if it can be longer
be used with the wait* functions.  If we need staged deprecation, then it
should be a staged deprecation of all the features (with the possible
exception of W* macros accepting 'union wait' argument values, which was
always a GNU extension over the 4.3BSD API that specified 'union wait').
Personally I'm OK with just removing it entirely in one cycle.

> 	[BZ #19613]
> 	Deprecate union wait and remove union wait * support from W*
> 	macros in <sys/wait.h>.

The W* macros support arguments of type 'union wait', not 'union wait *'.

> 	* sunrpc/key_call.c (key_call_keyenvoy): Use int instead of union
> 	wait.

This one change could and should go in separately first.

> diff --git a/sunrpc/key_call.c b/sunrpc/key_call.c
> index 7ecf6fb..7880ab9 100644
> --- a/sunrpc/key_call.c
> +++ b/sunrpc/key_call.c
> @@ -304,7 +304,7 @@ key_call_keyenvoy (u_long proc, xdrproc_t xdr_arg, char *arg,
>    FILE *fargs;
>    FILE *frslt;
>    sigset_t oldmask, mask;
> -  union wait status;
> +  int status;
>    int pid;
>    int success;
>    uid_t ruid;

This is insufficient.  You need to adjust the use of STATUS as well.  This
function is under #ifndef SO_PASSCRED so you'd probably have to do a Hurd
build to see actually get built.  If you hand-hacked out the #ifndef for
purposes of compile testing on a Linux configuration, then that would be
good enough for the change to go in.


Thanks,
Roland


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]