As a general rule, programs should not use errno values as an exit status.
Compare "sleep 100000001" w/ and w/o this diff.
ok?
Index: sleep.c
===================================================================
RCS file: /data/src/openbsd/src/bin/sleep/sleep.c,v
retrieving revision 1.23
diff -u -p -r1.23 sleep.c
--- sleep.c 9 Oct 2015 01:37:06 -0000 1.23
+++ sleep.c 10 Oct 2015 23:19:03 -0000
@@ -107,7 +107,7 @@ main(int argc, char *argv[])
if ((secs > 0) || (nsecs > 0))
if (nanosleep(&rqtp, NULL))
- return (errno);
+ err(1, NULL);
return (0);
}