diff options
author | Dave Barach <dave@barachs.net> | 2020-04-28 18:00:21 -0400 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2020-04-29 21:36:51 +0000 |
commit | 09c0946e91b4810c8450fe0962b2085506fbda25 (patch) | |
tree | daa27fb97f6220a17ce87e67a044e6b76dee66e5 /src/vnet | |
parent | fd0834262c517ea3a420fdba05fb95bc4141762b (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/vnet')
-rw-r--r-- | src/vnet/session/session.c | 2 | ||||
-rw-r--r-- | src/vnet/tcp/tcp.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 16863f03dc4..c6e64544623 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -1518,7 +1518,7 @@ session_manager_main_enable (vlib_main_t * vm) wrk->new_head = clib_llist_make_head (wrk->event_elts, evt_list); wrk->old_head = clib_llist_make_head (wrk->event_elts, evt_list); wrk->vm = vlib_mains[i]; - wrk->last_vlib_time = vlib_time_now (vlib_mains[i]); + wrk->last_vlib_time = vlib_time_now (vm); wrk->last_vlib_us_time = wrk->last_vlib_time * CLIB_US_TIME_FREQ; if (num_threads > 1) diff --git a/src/vnet/tcp/tcp.c b/src/vnet/tcp/tcp.c index 317ed3aa876..378a5a78969 100644 --- a/src/vnet/tcp/tcp.c +++ b/src/vnet/tcp/tcp.c @@ -1510,13 +1510,14 @@ tcp_expired_timers_dispatch (u32 * expired_timers) static void tcp_initialize_timer_wheels (tcp_main_t * tm) { + vlib_main_t *vm = vlib_get_main (); tw_timer_wheel_16t_2w_512sl_t *tw; /* *INDENT-OFF* */ foreach_vlib_main (({ tw = &tm->wrk_ctx[ii].timer_wheel; tw_timer_wheel_init_16t_2w_512sl (tw, tcp_expired_timers_dispatch, TCP_TIMER_TICK, ~0); - tw->last_run_time = vlib_time_now (this_vlib_main); + tw->last_run_time = vlib_time_now (vm); })); /* *INDENT-ON* */ } |