Hi Ingo, > No. Read the manual page and /sys/kern/kern_time.c : > > With a valid clock id and a valid address, this function > cannot fail, so you are just adding dead code. Worse, > you are making future auditors wonder what the heck is > going on here.
Sorry, I can't find the above words from manual (https://man.openbsd.org/clock_gettime.2). Anyway, thanks for pointing it out! On 4/20/2018 8:00 PM, Ingo Schwarze wrote: > Hi, > > Nan Xiao wrote on Fri, Apr 20, 2018 at 05:28:01PM +0800: > >> FYI, thanks! > > No. Read the manual page and /sys/kern/kern_time.c : > > With a valid clock id and a valid address, this function > cannot fail, so you are just adding dead code. Worse, > you are making future auditors wonder what the heck is > going on here. > > Yours, > Ingo > > >> Index: time.c >> =================================================================== >> RCS file: /cvs/src/usr.bin/time/time.c,v >> retrieving revision 1.25 >> diff -u -p -r1.25 time.c >> --- time.c 21 Aug 2017 13:38:02 -0000 1.25 >> +++ time.c 20 Apr 2018 09:21:59 -0000 >> @@ -76,7 +76,8 @@ main(int argc, char *argv[]) >> if (argc < 1) >> usage(); >> >> - clock_gettime(CLOCK_MONOTONIC, &before); >> + if (clock_gettime(CLOCK_MONOTONIC, &before)) >> + err(1, "clock_gettime"); >> switch(pid = vfork()) { >> case -1: /* error */ >> warn("fork"); >> @@ -92,7 +93,8 @@ main(int argc, char *argv[]) >> signal(SIGQUIT, SIG_IGN); >> while (wait3(&status, 0, &ru) != pid) >> ; >> - clock_gettime(CLOCK_MONOTONIC, &after); >> + if (clock_gettime(CLOCK_MONOTONIC, &after)) >> + err(1, "clock_gettime"); >> if (WIFSIGNALED(status)) >> exitonsig = WTERMSIG(status); >> if (!WIFEXITED(status)) -- Best Regards Nan Xiao(肖楠)