From 752c9332905aaaa80be5b563645d866761c13fb7 Mon Sep 17 00:00:00 2001 From: saimayithri Date: Mon, 6 Jul 2026 09:36:36 +0000 Subject: [PATCH] Schedule HTTP/2 re-enable on NetVC owner thread Refs: #13358 Signed-off-by: saimayithri --- src/proxy/http2/Http2CommonSession.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/proxy/http2/Http2CommonSession.cc b/src/proxy/http2/Http2CommonSession.cc index a294f1665c8..1ead85fbd72 100644 --- a/src/proxy/http2/Http2CommonSession.cc +++ b/src/proxy/http2/Http2CommonSession.cc @@ -312,8 +312,10 @@ Http2CommonSession::state_complete_frame_read(int event, void *edata) if (this->_should_do_something_else()) { if (this->_reenable_event == nullptr) { vio->disable(); - this->_reenable_event = this->get_mutex()->thread_holding->schedule_in(this->get_proxy_session(), HRTIME_MSECONDS(1), - HTTP2_SESSION_EVENT_REENABLE, vio); + auto *netvc = this->get_netvc(); + ink_assert(netvc != nullptr); + this->_reenable_event = + netvc->thread->schedule_in(this->get_proxy_session(), HRTIME_MSECONDS(1), HTTP2_SESSION_EVENT_REENABLE, vio); } else { vio->reenable(); } @@ -403,8 +405,10 @@ Http2CommonSession::do_process_frame_read(int /* event ATS_UNUSED */, VIO *vio, if (this->_reenable_event == nullptr) { this->connection_state.restart_receiving(nullptr); vio->disable(); - this->_reenable_event = this->get_mutex()->thread_holding->schedule_in(this->get_proxy_session(), HRTIME_MSECONDS(1), - HTTP2_SESSION_EVENT_REENABLE, vio); + auto *netvc = this->get_netvc(); + ink_assert(netvc != nullptr); + this->_reenable_event = + netvc->thread->schedule_in(this->get_proxy_session(), HRTIME_MSECONDS(1), HTTP2_SESSION_EVENT_REENABLE, vio); return 0; } }