session: call session_dequeue_notify after svm_fifo_dequeue_drop 92/20192/4
authorVladimir Kropylev <vladimir.kropylev@enea.com>
Mon, 17 Jun 2019 18:38:00 +0000 (21:38 +0300)
committerFlorin Coras <florin.coras@gmail.com>
Wed, 19 Jun 2019 02:25:58 +0000 (02:25 +0000)
Type: fix

dequeue_notify callback at app-layer needs to know available space in fifo,
so, session_dequeue_notify should be called after svm_fifo_dequeue_drop

Change-Id: I136675d29ec32bea9b33a05deb6710f72ce8d5b1
Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
src/vnet/session/session.c

index 4b3ce01..8aa4af9 100644 (file)
@@ -453,11 +453,14 @@ u32
 session_tx_fifo_dequeue_drop (transport_connection_t * tc, u32 max_bytes)
 {
   session_t *s = session_get (tc->s_index, tc->thread_index);
+  u32 rv;
+
+  rv = svm_fifo_dequeue_drop (s->tx_fifo, max_bytes);
 
   if (svm_fifo_needs_tx_ntf (s->tx_fifo, max_bytes))
     session_dequeue_notify (s);
 
-  return svm_fifo_dequeue_drop (s->tx_fifo, max_bytes);
+  return rv;
 }
 
 static inline int