From cbe71b3400f49d6bff3ef9a4baaf97750c15c2d7 Mon Sep 17 00:00:00 2001 From: Kadir Can Ozden <101993364+bysiber@users.noreply.github.com> Date: Fri, 20 Feb 2026 06:06:49 +0300 Subject: [PATCH] Release HTTP/2 semaphore permit on NoAvailableStreamIDError --- httpcore/_async/http2.py | 1 + httpcore/_sync/http2.py | 1 + 2 files changed, 2 insertions(+) diff --git a/httpcore/_async/http2.py b/httpcore/_async/http2.py index dbd0beeb..9c1482e6 100644 --- a/httpcore/_async/http2.py +++ b/httpcore/_async/http2.py @@ -136,6 +136,7 @@ async def handle_async_request(self, request: Request) -> Response: except h2.exceptions.NoAvailableStreamIDError: # pragma: nocover self._used_all_stream_ids = True self._request_count -= 1 + await self._max_streams_semaphore.release() raise ConnectionNotAvailable() try: diff --git a/httpcore/_sync/http2.py b/httpcore/_sync/http2.py index ddcc1890..d22e0fda 100644 --- a/httpcore/_sync/http2.py +++ b/httpcore/_sync/http2.py @@ -136,6 +136,7 @@ def handle_request(self, request: Request) -> Response: except h2.exceptions.NoAvailableStreamIDError: # pragma: nocover self._used_all_stream_ids = True self._request_count -= 1 + self._max_streams_semaphore.release() raise ConnectionNotAvailable() try: