diff options
author | Florin Coras <fcoras@cisco.com> | 2020-04-30 02:59:55 +0000 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2020-08-18 08:50:04 +0000 |
commit | b2ed95896f5e40b31a87c81e7f27012fba00a9c1 (patch) | |
tree | 10bbc06df1e019b8b5da4a24168750751a225e6c /src | |
parent | 9ba15e2b6812fb6a87c86acae77f1226d264e254 (diff) |
vcl: disconnect both flavors of bapi transport on destroy
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6697296b45c5816a31535b0cf44b8e726292b8bb
(cherry picked from commit dc0ded7dd7a6b8ee68df25cd56666de804e55e64)
Diffstat (limited to 'src')
-rw-r--r-- | src/vcl/vppcom.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index befaf155692..a50d0abf2f4 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -1090,8 +1090,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)) @@ -1099,16 +1099,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); /* |