aboutsummaryrefslogtreecommitdiffstats
path: root/src/vppinfra/time_range.c
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2020-03-11 10:31:36 -0400
committerFlorin Coras <florin.coras@gmail.com>2020-03-12 20:55:17 +0000
commit197180031bad1e51ee032d30d8a095a51207454c (patch)
tree2ae3e81dfa609b6d532c902e13ecb82c73e72143 /src/vppinfra/time_range.c
parent7a91b0e264d1dfd911eec18a265ead2ab8a9ad82 (diff)
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 <dave@barachs.net> Change-Id: I5e52d57eb164b7cdb6355362d520df6928491711
Diffstat (limited to 'src/vppinfra/time_range.c')
-rw-r--r--src/vppinfra/time_range.c14
1 files changed, 11 insertions, 3 deletions
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;