X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fhs_apps%2Fvcl%2Fvcl_test_server.c;h=1b3b759bfcd3413dc06a936d2afe86ba0f13e2a0;hb=8ccc6b350;hp=2abb9924e705006127e95b72836db3f6932e3225;hpb=0cbc4bd272ac7e24208f741c4fb1fcb1ce5e0e5d;p=vpp.git diff --git a/src/plugins/hs_apps/vcl/vcl_test_server.c b/src/plugins/hs_apps/vcl/vcl_test_server.c index 2abb9924e70..1b3b759bfcd 100644 --- a/src/plugins/hs_apps/vcl/vcl_test_server.c +++ b/src/plugins/hs_apps/vcl/vcl_test_server.c @@ -564,6 +564,7 @@ vts_handle_ctrl_cfg (vcl_test_server_worker_t *wrk, vcl_test_cfg_t *rx_cfg, wrk->nfds--; if (wrk->nfds) vts_wrk_cleanup_all (wrk); + vcl_server_main.ctrl = 0; break; default: @@ -677,13 +678,13 @@ vts_worker_loop (void *arg) */ if (ep_evts[i].events & (EPOLLHUP | EPOLLRDHUP)) { - vts_session_cleanup (conn); - wrk->nfds--; - if (!wrk->nfds) + if (conn == vsm->ctrl) { - vtinf ("All client connections closed\n"); - goto done; + vtinf ("ctrl session went away"); + vsm->ctrl = 0; } + vts_session_cleanup (conn); + wrk->nfds--; continue; }