diff options
Diffstat (limited to 'src/vcl/vcl_bapi.c')
-rw-r--r-- | src/vcl/vcl_bapi.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/vcl/vcl_bapi.c b/src/vcl/vcl_bapi.c index 48695a31a3e..618a46d0a7e 100644 --- a/src/vcl/vcl_bapi.c +++ b/src/vcl/vcl_bapi.c @@ -100,11 +100,6 @@ vl_api_app_attach_reply_t_handler (vl_api_app_attach_reply_t * mp) fds[n_fds++])) goto failed; - vcl_segment_attach_mq (vcl_vpp_worker_segment_handle (0), - mp->vpp_ctrl_mq, mp->vpp_ctrl_mq_thread, - &wrk->ctrl_mq); - vcm->ctrl_mq = wrk->ctrl_mq; - if (mp->fd_flags & SESSION_FD_F_MEMFD_SEGMENT) { segment_name = vl_api_from_api_to_new_c_string (&mp->segment_name); @@ -126,6 +121,13 @@ vl_api_app_attach_reply_t_handler (vl_api_app_attach_reply_t * mp) n_fds++; } + vcl_segment_discover_mqs (vcl_vpp_worker_segment_handle (0), fds + n_fds, + mp->n_fds - n_fds); + vcl_segment_attach_mq (vcl_vpp_worker_segment_handle (0), + mp->vpp_ctrl_mq, mp->vpp_ctrl_mq_thread, + &wrk->ctrl_mq); + vcm->ctrl_mq = wrk->ctrl_mq; + vec_free (fds); } else |