Use clock_gettime to implement timespec_get

System Internals / glibc - Zack Weinberg [] - 30 October 2019 20:11 UTC

timespec_get is the same function as clock_gettime, with an obnoxious coating of NIH painted on it by the ISO C committee. In addition to the rename, it takes its arguments in a different order, it returns 0 on *failure* or a positive number on *success*, and it requires that all of its TIME_* constants be positive. This last means we cannot directly reuse the existing CLOCK_* constants for it, because those have been allocated starting with CLOCK_REALTIME = 0 on all existing platforms.

This patch simply promotes the sysdeps/posix implementation to universal, and removes the Linux-specific implementation, whose apparent reason for existing was to cut out one function call's worth of overhead.

Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu, powerpc64-linux-gnu, powerpc-linux-gnu, and aarch64-linux-gnu.

40a36935ff Use clock_gettime to implement timespec_get.
sysdeps/posix/timespec_get.c | 32 -----------------------
sysdeps/unix/sysv/linux/timespec_get.c | 46 ----------------------------------
time/timespec_get.c | 14 +++--------
3 files changed, 4 insertions(+), 88 deletions(-)


  • Share