X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvcl%2Fvcl_private.c;fp=src%2Fvcl%2Fvcl_private.c;h=eb01d1c14b1ffff8a2f73da22381084e10b5a2de;hb=70e21976aa0303c037ef849f7859010c9d543fab;hp=d6d7381e40b12905097c25607bb5cd8098639030;hpb=1c19aefe907d2a7251ed538241256b4359e96167;p=vpp.git 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);