From: Matus Fabian Date: Mon, 15 Sep 2025 20:06:17 +0000 (-0400) Subject: http: notify app on app_worker_init_connected err X-Git-Tag: v26.02-rc0~22 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=d08f1524e764b29195e7b5743d2af34ebc585fd0;p=vpp.git http: notify app on app_worker_init_connected err Type: fix Change-Id: I5096d3869134af4f696b2ee9be605a9d049202d4 Signed-off-by: Matus Fabian --- diff --git a/src/plugins/http/http2/http2.c b/src/plugins/http/http2/http2.c index a98969b0c81..d4dd017fc45 100644 --- a/src/plugins/http/http2/http2.c +++ b/src/plugins/http/http2/http2.c @@ -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 diff --git a/src/plugins/http/http_private.h b/src/plugins/http/http_private.h index 49d41961fe3..0fdb632e498 100644 --- a/src/plugins/http/http_private.h +++ b/src/plugins/http/http_private.h @@ -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; }