diff options
author | Dave Barach <dave@barachs.net> | 2020-04-28 18:00:21 -0400 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2020-05-07 00:57:02 +0000 |
commit | 9b5d0b7108451d7c81bad113503d00f46b3bb1ea (patch) | |
tree | ea43e7870913ff5d98111a8bdd39312b61483510 /src/vlib | |
parent | 03dd7c08d4d745d936c20c42039e1badb9384e8f (diff) |
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: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I55af6de84e06143f8f43adc62103b77267a7a441
(cherry picked from commit 77d98382824ca211fb55fcf842931930ccfb3baa)
Diffstat (limited to 'src/vlib')
-rw-r--r-- | src/vlib/main.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vlib/main.h b/src/vlib/main.h index af6539efc75..20b8b464e34 100644 --- a/src/vlib/main.h +++ b/src/vlib/main.h @@ -278,6 +278,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; } |