session: move svm_fifo_clear_deq_ntf to before calling the app callback 92/22292/2
authorVladimir Kropylev <[email protected]>
Fri, 30 Aug 2019 10:04:06 +0000 (13:04 +0300)
committerAndrew Yourtchenko <[email protected]>
Sat, 28 Sep 2019 20:21:22 +0000 (20:21 +0000)
Type: fix

in case the app requests another dequeue notification, it should not be cleared

Change-Id: I7e94e8e30ef098f87f5e7f4880af276970ee5b37
Signed-off-by: Vladimir Kropylev <[email protected]>
(cherry picked from commit 5c89fbf28665d13a0052fc88288c1524e0e93918)

src/vnet/session/session.c

index c0452ca..62594cb 100644 (file)
@@ -604,6 +604,8 @@ session_dequeue_notify (session_t * s)
 {
   app_worker_t *app_wrk;
 
+  svm_fifo_clear_deq_ntf (s->tx_fifo);
+
   app_wrk = app_worker_get_if_valid (s->app_wrk_index);
   if (PREDICT_FALSE (!app_wrk))
     return -1;
@@ -616,8 +618,6 @@ session_dequeue_notify (session_t * s)
     return session_notify_subscribers (app_wrk->app_index, s,
                                       s->tx_fifo, SESSION_IO_EVT_TX);
 
-  svm_fifo_clear_deq_ntf (s->tx_fifo);
-
   return 0;
 }