summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWolfgang Hommel <wolfgang.hommel@unibw.de>2021-02-25 21:22:41 +0100
committerWolfgang Hommel <wolfgang.hommel@unibw.de>2021-02-25 21:22:41 +0100
commitc89582fc1f55c03d7781d562b187a2e97e6ce560 (patch)
tree189d2282894251c4fcf9a84a7b13e34f64c78eec /src
parent9a38e5d775bd55be74004c883db1379da8b67e37 (diff)
downloadlibfaketime-c89582fc1f55c03d7781d562b187a2e97e6ce560.tar.gz
divert syscall() to clock_gettime() (#176 #302)
Diffstat (limited to 'src')
-rw-r--r--src/libfaketime.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libfaketime.c b/src/libfaketime.c
index b2b0155..4ec6f45 100644
--- a/src/libfaketime.c
+++ b/src/libfaketime.c
@@ -3771,6 +3771,16 @@ long syscall(long number, ...) {
return getrandom(buf, buflen, flags);
}
#endif
+// static int (*real_clock_gettime) (clockid_t clk_id, struct timespec *tp);
+ if (number == __NR_clock_gettime) {
+ clockid_t clk_id;
+ struct timespec *tp;
+ clk_id = va_arg(ap, clockid_t);
+ tp = va_arg(ap, struct timespec*);
+ va_end(ap);
+ return clock_gettime(clk_id, tp);
+ }
+
/*
Invocations of C variadic arguments that are smaller than int are
promoted to int. For larger arguments, it's likely that they are