tls: fix disconnects for sessions with pending data
[vpp.git] / src / vnet / session-apps / echo_client.c
index 3d1af67..b47dcf2 100644 (file)
@@ -359,7 +359,7 @@ echo_clients_session_connected_callback (u32 app_index, u32 api_context,
   echo_client_main_t *ecm = &echo_client_main;
   eclient_session_t *session;
   u32 session_index;
-  u8 thread_index = s->thread_index;
+  u8 thread_index;
 
   if (is_fail)
     {
@@ -368,6 +368,7 @@ echo_clients_session_connected_callback (u32 app_index, u32 api_context,
       return 0;
     }
 
+  thread_index = s->thread_index;
   ASSERT (thread_index == vlib_get_thread_index ()
          || session_transport_service_type (s) == TRANSPORT_SERVICE_CL);
 
@@ -825,6 +826,7 @@ echo_clients_command_fn (vlib_main_t * vm,
 
 cleanup:
   ecm->run_test = 0;
+  vlib_process_wait_for_event_or_clock (vm, 10e-3);
   for (i = 0; i < vec_len (ecm->connection_index_by_thread); i++)
     {
       vec_reset_length (ecm->connection_index_by_thread[i]);