vcl: always reset deq ntf flag in epoll evt handler 41/38841/4
authorFlorin Coras <fcoras@cisco.com>
Thu, 18 May 2023 05:59:40 +0000 (22:59 -0700)
committerDave Wallace <dwallacelf@gmail.com>
Fri, 19 May 2023 19:31:30 +0000 (19:31 +0000)
Reset deq notification flag even if session is no longer epolled.

Type: fix

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

src/vcl/vppcom.c

index 360b65d..43f6b74 100644 (file)
@@ -3068,14 +3068,14 @@ vcl_epoll_wait_handle_mq_event (vcl_worker_t * wrk, session_event_t * e,
       s = vcl_session_get (wrk, sid);
       if (!s || !vcl_session_is_open (s))
        break;
+      svm_fifo_reset_has_deq_ntf (vcl_session_is_ct (s) ? s->ct_tx_fifo :
+                                                               s->tx_fifo);
       session_events = s->vep.ev.events;
       if (!(EPOLLOUT & session_events))
        break;
       add_event = 1;
       events[*num_ev].events = EPOLLOUT;
       session_evt_data = s->vep.ev.data.u64;
-      svm_fifo_reset_has_deq_ntf (vcl_session_is_ct (s) ?
-                                 s->ct_tx_fifo : s->tx_fifo);
       break;
     case SESSION_CTRL_EVT_ACCEPTED:
       if (!e->postponed)