diff --git a/include/haproxy/clock.h b/include/haproxy/clock.h index 664e53968..3737fc51e 100644 --- a/include/haproxy/clock.h +++ b/include/haproxy/clock.h @@ -49,6 +49,7 @@ uint clock_report_idle(void); void clock_leaving_poll(int timeout, int interrupted); void clock_entering_poll(void); void clock_adjust_now_offset(void); +void clock_set_now_offset(llong ofs); static inline void clock_update_date(int max_wait, int interrupted) { diff --git a/src/clock.c b/src/clock.c index 16270aac3..6fba12a1c 100644 --- a/src/clock.c +++ b/src/clock.c @@ -364,6 +364,11 @@ void clock_adjust_now_offset(void) HA_ATOMIC_STORE(&now_offset, now_ns - tv_to_ns(&date)); } +void clock_set_now_offset(llong ofs) +{ + HA_ATOMIC_STORE(&now_offset, ofs); +} + /* must be called once per thread to initialize their thread-local variables. * Note that other threads might also be initializing and running in parallel. */