On Sun, Oct 15, 2023 at 01:48:13PM -0600, Todd C. Miller wrote: > On Sun, 15 Oct 2023 13:53:46 -0500, Scott Cheloha wrote: > > > Align timeout(1)'s execvp(3) failure statuses with those of GNU > > timeout. 127 for ENOENT, 126 for everything else. > > Looks correct to me. OK millert@
Per deraadt@, update EXIT STATUS, too. Do we need to keep the "128 + signal" bit? I thought that was a normal Unix thing, and we tend to avoid saying things that are implicitly true for every utility. Index: timeout.c =================================================================== RCS file: /cvs/src/usr.bin/timeout/timeout.c,v retrieving revision 1.25 diff -u -p -r1.25 timeout.c --- timeout.c 13 Jan 2023 06:53:04 -0000 1.25 +++ timeout.c 16 Oct 2023 15:29:02 -0000 @@ -260,7 +260,8 @@ main(int argc, char **argv) signal(SIGTTOU, SIG_DFL); execvp(argv[0], argv); - err(1, "%s", argv[0]); + warn("%s", argv[0]); + _exit(errno == ENOENT ? 127 : 126); } /* parent continues here */ Index: timeout.1 =================================================================== RCS file: /cvs/src/usr.bin/timeout/timeout.1,v retrieving revision 1.7 diff -u -p -r1.7 timeout.1 --- timeout.1 12 Jan 2023 14:08:39 -0000 1.7 +++ timeout.1 16 Oct 2023 15:29:02 -0000 @@ -92,20 +92,29 @@ hours days .El .Sh EXIT STATUS -If the timeout was not reached or -.Fl p -was set, the exit status of -.Ar command -is returned. +The +.Nm +utility may return one of the following statuses: .Pp -If the timeout was reached and +.Bl -tag -compact +.It 124 +The time limit expired and the .Fl p -was not set, an exit status of 124 is returned. -.Pp -If +flag was not set. +.It 126 +The .Ar command -exited after receiving a signal, the exit status returned is the signal number -plus 128. +could not be executed. +.It 127 +The +.Ar command +was not found. +.El +.Pp +Otherwise, +.Nm +returns the exit status of the +.Ar command . .Sh SEE ALSO .Xr kill 1 , .Xr signal 3