http: notify app on app_worker_init_connected err 03/43703/2
authorMatus Fabian <[email protected]>
Mon, 15 Sep 2025 20:06:17 +0000 (16:06 -0400)
committerDave Wallace <[email protected]>
Mon, 15 Sep 2025 22:29:50 +0000 (22:29 +0000)
Type: fix

Change-Id: I5096d3869134af4f696b2ee9be605a9d049202d4
Signed-off-by: Matus Fabian <[email protected]>
src/plugins/http/http2/http2.c
src/plugins/http/http_private.h

index a98969b..d4dd017 100644 (file)
@@ -3218,6 +3218,7 @@ http2_conn_connect_stream_callback (http_conn_t *hc, u32 parent_app_api_ctx)
   http2_conn_ctx_t *h2c;
   http2_req_t *req;
   app_worker_t *app_wrk;
+  int rv;
 
   HTTP_DBG (1, "hc [%u]%x", hc->c_thread_index, hc->hc_hc_index);
   h2c = http2_conn_ctx_get_w_thread (hc);
@@ -3231,7 +3232,10 @@ http2_conn_connect_stream_callback (http_conn_t *hc, u32 parent_app_api_ctx)
                                      parent_app_api_ctx);
   req = http2_conn_alloc_req (hc, 0);
   http_req_state_change (&req->base, HTTP_REQ_STATE_WAIT_APP_METHOD);
-  return http_conn_established (hc, &req->base, parent_app_api_ctx, 1);
+  rv = http_conn_established (hc, &req->base, parent_app_api_ctx, 1);
+  if (rv != 0)
+    http2_conn_free_req (h2c, req, hc->c_thread_index);
+  return rv;
 }
 
 static void
index 49d4196..0fdb632 100644 (file)
@@ -935,6 +935,7 @@ http_conn_established (http_conn_t *hc, http_req_t *req,
       HTTP_DBG (1, "failed to allocate fifos");
       session_free (as);
       hc->flags |= HTTP_CONN_F_NO_APP_SESSION;
+      app_worker_connect_notify (app_wrk, 0, rv, parent_app_api_ctx);
       return rv;
     }