X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession.c;h=36aadcb7c405f5c921d591acf314c49a3c3d706f;hb=2b81e3cba77e6427b47228318d55e40a859d02d1;hp=110db2c2a4a5ca3809723ea654f04f26ea7243e2;hpb=038243064ba0a6b587213ba56fffd9e3fddcf0ee;p=vpp.git diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 110db2c2a4a..36aadcb7c40 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -123,6 +123,13 @@ session_program_transport_close (session_t * s) session_manager_worker_t *wrk; session_event_t *evt; + if (!session_has_transport (s)) + { + /* Polling may not be enabled on main thread so close now */ + session_transport_close (s); + return; + } + /* If we are in the handler thread, or being called with the worker barrier * held, just append a new event to pending disconnects vector. */ if (vlib_thread_is_main_w_barrier () || thread_index == s->thread_index)