From 77d98382824ca211fb55fcf842931930ccfb3baa Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Tue, 28 Apr 2020 18:00:21 -0400 Subject: vlib: add ASSERT to vlib_time_now(...) Calling vlib_time_now (&vlib_global_main) from a worker thread is a bad mistake. ASSERT (vm->thread_index == __os_thread_index) will catch it. Type: improvement Signed-off-by: Dave Barach Change-Id: I55af6de84e06143f8f43adc62103b77267a7a441 --- src/vlib/main.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/vlib') diff --git a/src/vlib/main.h b/src/vlib/main.h index 598c3ba836f..d6b2d1f875f 100644 --- a/src/vlib/main.h +++ b/src/vlib/main.h @@ -290,6 +290,13 @@ void vlib_worker_loop (vlib_main_t * vm); always_inline f64 vlib_time_now (vlib_main_t * vm) { +#if CLIB_DEBUG > 0 + extern __thread uword __os_thread_index; +#endif + /* + * Make sure folks don't pass &vlib_global_main from a worker thread. + */ + ASSERT (vm->thread_index == __os_thread_index); return clib_time_now (&vm->clib_time) + vm->time_offset; } -- cgit 1.2.3-korg