hsa: proxy http can be closed on ao connected err 74/43674/7
authorMatus Fabian <[email protected]>
Mon, 8 Sep 2025 17:14:40 +0000 (13:14 -0400)
committerFlorin Coras <[email protected]>
Mon, 15 Sep 2025 20:44:10 +0000 (20:44 +0000)
Type: fix

Change-Id: I0e42a40a33056c00ca7b7a01acd4c73072734eb2
Signed-off-by: Matus Fabian <[email protected]>
src/plugins/hs_apps/proxy.c

index a2e4264..896eb8c 100644 (file)
@@ -917,6 +917,11 @@ active_open_send_http_resp_rpc (void *arg)
   clib_spinlock_lock_if_init (&pm->sessions_lock);
 
   ps = proxy_session_get (ps_index);
+  if (ps->po.session_handle == SESSION_INVALID_HANDLE)
+    {
+      clib_spinlock_unlock_if_init (&pm->sessions_lock);
+      return;
+    }
   po_s = session_get_from_handle (ps->po.session_handle);
   connect_failed = ps->ao_disconnected;
 
@@ -960,6 +965,11 @@ active_open_connected_callback (u32 app_index, u32 opaque,
       ps->ao_disconnected = 1;
       if (ps->po.is_http)
        {
+         if (ps->po.session_handle == SESSION_INVALID_HANDLE)
+           {
+             clib_spinlock_unlock_if_init (&pm->sessions_lock);
+             return 0;
+           }
          session_send_rpc_evt_to_thread_force (
            session_thread_from_handle (ps->po.session_handle),
            active_open_send_http_resp_rpc,