From: Florin Coras Date: Wed, 7 Apr 2021 07:16:37 +0000 (-0700) Subject: vcl: fix worker cleanup cb function X-Git-Tag: v21.10-rc0~273 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=70e21976aa0303c037ef849f7859010c9d543fab;p=vpp.git vcl: fix worker cleanup cb function Type: fix Signed-off-by: Florin Coras Change-Id: Ic1d88c01e48bb926932030c3c5a03f35e345e9eb --- diff --git a/src/vcl/vcl_private.c b/src/vcl/vcl_private.c index d6d7381e40b..eb01d1c14b1 100644 --- a/src/vcl/vcl_private.c +++ b/src/vcl/vcl_private.c @@ -138,8 +138,14 @@ vcl_worker_cleanup (vcl_worker_t * wrk, u8 notify_vpp) static void vcl_worker_cleanup_cb (void *arg) { - vcl_worker_t *wrk = vcl_worker_get_current (); - u32 wrk_index = wrk->wrk_index; + vcl_worker_t *wrk; + u32 wrk_index; + + wrk_index = vcl_get_worker_index (); + wrk = vcl_worker_get_if_valid (wrk_index); + if (!wrk) + return; + vcl_worker_cleanup (wrk, 1 /* notify vpp */ ); vcl_set_worker_index (~0); VDBG (0, "cleaned up worker %u", wrk_index);