X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession.c;h=8b268c00b6496c25a1e39b6ef8aa157c2ea961b1;hb=6080e0d15e152e38811b01306eef6719a682c007;hp=15d949c76b574e01c0e7c13730a1ce6a8ff15691;hpb=70f879d2852dfc042ad0911a4a6e4a1714c0eb83;p=vpp.git diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 15d949c76b5..8b268c00b64 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -130,7 +130,8 @@ session_add_self_custom_tx_evt (transport_connection_t * tc, u8 has_prio) if (!(s->flags & SESSION_F_CUSTOM_TX)) { s->flags |= SESSION_F_CUSTOM_TX; - if (svm_fifo_set_event (s->tx_fifo)) + if (svm_fifo_set_event (s->tx_fifo) + || transport_connection_is_descheduled (tc)) { session_worker_t *wrk; session_evt_elt_t *elt; @@ -141,6 +142,7 @@ session_add_self_custom_tx_evt (transport_connection_t * tc, u8 has_prio) elt = session_evt_alloc_old (wrk); elt->evt.session_index = tc->s_index; elt->evt.event_type = SESSION_IO_EVT_TX; + tc->flags &= ~TRANSPORT_CONNECTION_F_DESCHED; } } }