session: fix non-blocking msg enqueue to vpp mq 36/28636/3
authorFlorin Coras <fcoras@cisco.com>
Tue, 1 Sep 2020 22:25:50 +0000 (15:25 -0700)
committerDave Barach <openvpp@barachs.net>
Wed, 2 Sep 2020 14:28:19 +0000 (14:28 +0000)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7228a01d38e61cc00358419b2512ca0da4f76ff5

src/vnet/session/application_interface.h

index cddc031..d786931 100644 (file)
@@ -581,7 +581,8 @@ app_send_io_evt_to_vpp (svm_msg_q_t * mq, u32 session_index, u8 evt_type,
     {
       if (svm_msg_q_try_lock (mq))
        return -1;
-      if (PREDICT_FALSE (svm_msg_q_ring_is_full (mq, SESSION_MQ_IO_EVT_RING)))
+      if (PREDICT_FALSE (svm_msg_q_ring_is_full (mq, SESSION_MQ_IO_EVT_RING)
+                        || svm_msg_q_is_full (mq)))
        {
          svm_msg_q_unlock (mq);
          return -2;