Change-Id: I73d1dde5b78bbb7835f3a4f0d35fc0d5e46ec103
Signed-off-by: Florin Coras <fcoras@cisco.com>
e = svm_msg_q_msg_data (mq, &msg);
svm_msg_q_unlock (mq);
if (!vcl_is_rx_evt_for_session (e, s->session_index, is_ct))
e = svm_msg_q_msg_data (mq, &msg);
svm_msg_q_unlock (mq);
if (!vcl_is_rx_evt_for_session (e, s->session_index, is_ct))
- {
- vcl_handle_mq_event (wrk, e);
- svm_msg_q_free_msg (mq, &msg);
- continue;
- }
+ vcl_handle_mq_event (wrk, e);
svm_msg_q_free_msg (mq, &msg);
svm_msg_q_free_msg (mq, &msg);
- if (PREDICT_FALSE (s->session_state == STATE_VPP_CLOSING))
- return 0;
+ if (PREDICT_FALSE (s->session_state == STATE_DISCONNECT))
+ return VPPCOM_ECONNRESET;
e = svm_msg_q_msg_data (mq, &msg);
svm_msg_q_unlock (mq);
if (!vcl_is_rx_evt_for_session (e, s->session_index, is_ct))
e = svm_msg_q_msg_data (mq, &msg);
svm_msg_q_unlock (mq);
if (!vcl_is_rx_evt_for_session (e, s->session_index, is_ct))
- {
- vcl_handle_mq_event (wrk, e);
- svm_msg_q_free_msg (mq, &msg);
- continue;
- }
+ vcl_handle_mq_event (wrk, e);
svm_msg_q_free_msg (mq, &msg);
svm_msg_q_free_msg (mq, &msg);
- if (PREDICT_FALSE (s->session_state == STATE_VPP_CLOSING))
- return 0;
+ if (PREDICT_FALSE (s->session_state == STATE_DISCONNECT))
+ return VPPCOM_ECONNRESET;
if (!vcl_is_tx_evt_for_session (e, s->session_index, is_ct))
vcl_handle_mq_event (wrk, e);
svm_msg_q_free_msg (mq, &msg);
if (!vcl_is_tx_evt_for_session (e, s->session_index, is_ct))
vcl_handle_mq_event (wrk, e);
svm_msg_q_free_msg (mq, &msg);
+
+ if (PREDICT_FALSE (!(s->session_state & STATE_OPEN)))
+ return VPPCOM_ECONNRESET;
- if (PREDICT_FALSE (!(s->session_state & STATE_OPEN)))
- return VPPCOM_ECONNRESET;
-
ASSERT (FIFO_EVENT_APP_TX + 1 == SESSION_IO_EVT_CT_TX);
et = FIFO_EVENT_APP_TX + vcl_session_is_ct (s);
if (is_flush && !vcl_session_is_ct (s))
ASSERT (FIFO_EVENT_APP_TX + 1 == SESSION_IO_EVT_CT_TX);
et = FIFO_EVENT_APP_TX + vcl_session_is_ct (s);
if (is_flush && !vcl_session_is_ct (s))