session: refactor local connects
[vpp.git] / src / vnet / session / session.c
index 110db2c..36aadcb 100644 (file)
@@ -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)