From 197180031bad1e51ee032d30d8a095a51207454c Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Wed, 11 Mar 2020 10:31:36 -0400 Subject: vppinfra: refactor clib_timebase_t Add a clib_time_t * argument to clib_timebase_init(...), to encourage client code to share the vlib_main_t's clib_time_t object. Display the current day / date in GMT via the "show time" debug CLI. Fix the test framework so it processes the new "show time" output format. Type: refactor Signed-off-by: Dave Barach Change-Id: I5e52d57eb164b7cdb6355362d520df6928491711 --- src/vppinfra/time_range.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/vppinfra/time_range.c') diff --git a/src/vppinfra/time_range.c b/src/vppinfra/time_range.c index ea95284ea03..20048f834d1 100644 --- a/src/vppinfra/time_range.c +++ b/src/vppinfra/time_range.c @@ -17,12 +17,20 @@ void clib_timebase_init (clib_timebase_t * tb, i32 timezone_offset_in_hours, - clib_timebase_daylight_time_t daylight_type) + clib_timebase_daylight_time_t daylight_type, + clib_time_t * clib_time) { clib_memset (tb, 0, sizeof (*tb)); - clib_time_init (&tb->clib_time); - tb->time_zero = unix_time_now (); + if (clib_time == 0) + { + tb->clib_time = clib_mem_alloc_aligned + (sizeof (*clib_time), CLIB_CACHE_LINE_BYTES); + memset (tb->clib_time, 0, sizeof (*clib_time)); + clib_time_init (tb->clib_time); + } + else + tb->clib_time = clib_time; tb->timezone_offset = ((f64) (timezone_offset_in_hours)) * 3600.0; tb->daylight_time_type = daylight_type; -- cgit 1.2.3-korg