From ffd80fd42208681731d9fd53fcf8741139896638 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 17 Mar 2021 18:52:18 +0100 Subject: [PATCH] MINOR: time: export the global_now variable This is the process-wide monotonic time that is used to update each thread's own time. It may be required at a few places where a strictly monotonic clock is required such as freq_ctr. It will be have to be backported as a dependency of a forthcoming fix. (cherry picked from commit 650f374f24c4dd14e90d336c72c2370242be1459) Signed-off-by: Christopher Faulet (cherry picked from commit f520788e171f3393347da00358ae4ca2f30789a2) Signed-off-by: Christopher Faulet (cherry picked from commit 8ff0c907c7f9edc3f778b51e6980b1cd0bcff5e6) Signed-off-by: Christopher Faulet --- include/common/time.h | 1 + src/time.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/common/time.h b/include/common/time.h index d6bbecb..9f04815 100644 --- a/include/common/time.h +++ b/include/common/time.h @@ -63,6 +63,7 @@ extern THREAD_LOCAL struct timeval date; /* the real current date */ extern struct timeval start_date; /* the process's start date */ extern THREAD_LOCAL struct timeval before_poll; /* system date before calling poll() */ extern THREAD_LOCAL struct timeval after_poll; /* system date after leaving poll() */ +extern volatile unsigned long long global_now; /**** exported functions *************************************************/ diff --git a/src/time.c b/src/time.c index 1a18c76..719d124 100644 --- a/src/time.c +++ b/src/time.c @@ -30,7 +30,7 @@ THREAD_LOCAL struct timeval before_poll; /* system date before calling poll( THREAD_LOCAL struct timeval after_poll; /* system date after leaving poll() */ static THREAD_LOCAL struct timeval tv_offset; /* per-thread time ofsset relative to global time */ -static volatile unsigned long long global_now; /* common date between all threads (32:32) */ +volatile unsigned long long global_now; /* common date between all threads (32:32) */ static THREAD_LOCAL unsigned int iso_time_sec; /* last iso time value for this thread */ static THREAD_LOCAL char iso_time_str[28]; /* ISO time representation of gettimeofday() */ -- 1.7.10.4