diff options
author | liuyacan <liuyacan@corp.netease.com> | 2021-07-14 15:53:01 +0800 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2021-07-14 14:33:00 +0000 |
commit | 5cac2e819472e1723b65373f80bfd05e5cfc9996 (patch) | |
tree | 85eec099559db55db34745995cf08fba85f201ea | |
parent | 63e15818bbf05e5bb5ecde5af0e9eec7b1084fec (diff) |
vcl:fix segfault when unshare NO_MQ session
Session in LISTEN_NO_MQ state has no vpp_evt_q.This
would cause a segfault when vcl try to send msg to
vpp.
Type: fix
Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: I0d21831dbed148cd1b0ca7c083aeeef9e813ef2f
-rw-r--r-- | src/vcl/vcl_locked.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vcl/vcl_locked.c b/src/vcl/vcl_locked.c index e8f56c6c5fc..baacdd0a472 100644 --- a/src/vcl/vcl_locked.c +++ b/src/vcl/vcl_locked.c @@ -710,7 +710,8 @@ vls_unshare_session (vcl_locked_session_t * vls, vcl_worker_t * wrk) * Check if we can change owner or close */ vls_shd->owner_wrk_index = vls_shd->workers_subscribed[0]; - vcl_send_session_worker_update (wrk, s, vls_shd->owner_wrk_index); + if (s->session_state != VCL_STATE_LISTEN_NO_MQ) + vcl_send_session_worker_update (wrk, s, vls_shd->owner_wrk_index); /* XXX is this still needed? */ if (vec_len (vls_shd->workers_subscribed) > 1) |