From dc0ded7dd7a6b8ee68df25cd56666de804e55e64 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Thu, 30 Apr 2020 02:59:55 +0000 Subject: vcl: disconnect both flavors of bapi transport on destroy Type: fix Signed-off-by: Florin Coras Change-Id: I6697296b45c5816a31535b0cf44b8e726292b8bb --- src/vcl/vppcom.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/vcl/vppcom.c') diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index 0382af45544..38b85bede3b 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -1222,8 +1222,8 @@ vppcom_app_create (char *app_name) void vppcom_app_destroy (void) { + vcl_worker_t *wrk, *current_wrk; struct dlmallinfo mi; - vcl_worker_t *wrk; mspace heap; if (!pool_elts (vcm->workers)) @@ -1231,16 +1231,19 @@ vppcom_app_destroy (void) vcl_evt (VCL_EVT_DETACH, vcm); - vcl_send_app_detach (vcl_worker_get_current ()); + current_wrk = vcl_worker_get_current (); /* *INDENT-OFF* */ pool_foreach (wrk, vcm->workers, ({ - if (pool_elts (vcm->workers) == 1) - vl_client_disconnect_from_vlib (); - vcl_worker_cleanup (wrk, 0 /* notify vpp */ ); + if (current_wrk != wrk) + vcl_worker_cleanup (wrk, 0 /* notify vpp */ ); })); /* *INDENT-ON* */ + vcl_send_app_detach (current_wrk); + vppcom_disconnect_from_vpp (); + vcl_worker_cleanup (current_wrk, 0 /* notify vpp */ ); + vcl_elog_stop (vcm); /* -- cgit 1.2.3-korg