mirror of
https://github.com/wolfcw/libfaketime.git
synced 2026-05-17 08:36:28 +03:00
start-at-faketime startup fix, addresses #196
This commit is contained in:
@@ -2256,13 +2256,14 @@ int fake_clock_gettime(clockid_t clk_id, struct timespec *tp)
|
||||
#ifdef CLOCK_REALTIME_COARSE
|
||||
case CLOCK_REALTIME_COARSE:
|
||||
#endif
|
||||
if ((tp->tv_sec > ftpl_starttime.real.tv_sec) ||
|
||||
((tp->tv_sec == ftpl_starttime.real.tv_sec) &&
|
||||
(tp->tv_nsec > ftpl_starttime.real.tv_nsec))) {
|
||||
timespecsub(tp, &ftpl_starttime.real, &tdiff);
|
||||
if (((tp->tv_sec + 1 == ftpl_starttime.real.tv_sec) &&
|
||||
(tp->tv_nsec < ftpl_starttime.real.tv_nsec)) ||
|
||||
((tp->tv_sec == ftpl_starttime.real.tv_sec) &&
|
||||
(tp->tv_nsec > ftpl_starttime.real.tv_nsec))) {
|
||||
timespecsub(tp, &ftpl_starttime.real, &tdiff); /* regular case */
|
||||
}
|
||||
else {
|
||||
timespecsub(&ftpl_starttime.real, tp, &tdiff);
|
||||
timespecsub(&ftpl_starttime.real, tp, &tdiff); /* startup case */
|
||||
}
|
||||
break;
|
||||
case CLOCK_MONOTONIC:
|
||||
|
||||
Reference in New Issue
Block a user