refactor adjtimex in terms of clock_adjtime
authorRich Felker <dalias@aerifal.cx>
Sat, 20 Jul 2019 21:02:49 +0000 (17:02 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 20 Jul 2019 21:02:49 +0000 (17:02 -0400)
this sets the stage for having the conversion logic for 64-bit time_t
all in one file, and as a bonus makes clock_adjtime for CLOCK_REALTIME
work even on kernels too old to have the clock_adjtime syscall.

src/linux/adjtimex.c
src/linux/clock_adjtime.c

index 91de6824c32b8dabd48151352a24d254d6ec499c..e9d727cf3af40caf6859a21694ff451148a9b576 100644 (file)
@@ -1,7 +1,7 @@
 #include <sys/timex.h>
-#include "syscall.h"
+#include <time.h>
 
 int adjtimex(struct timex *tx)
 {
-       return syscall(SYS_adjtimex, tx);
+       return clock_adjtime(CLOCK_REALTIME, tx);
 }
index 056ad6d34104cfa35064ea293763a94fffbd0372..7d6b034914d9b4e71d50c3cfbbea8f04f0006b59 100644 (file)
@@ -1,7 +1,9 @@
 #include <sys/timex.h>
+#include <time.h>
 #include "syscall.h"
 
 int clock_adjtime (clockid_t clock_id, struct timex *utx)
 {
+       if (clock_id==CLOCK_REALTIME) return syscall(SYS_adjtimex, utx);
        return syscall(SYS_clock_adjtime, clock_id, utx);
 }