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: