]> git.ipfire.org Git - thirdparty/httpx.git/commitdiff
Drop connections from pool on connection exceptions 18/head
authorTom Christie <tom@tomchristie.com>
Thu, 25 Apr 2019 16:16:37 +0000 (17:16 +0100)
committerTom Christie <tom@tomchristie.com>
Thu, 25 Apr 2019 16:16:37 +0000 (17:16 +0100)
httpcore/connection_pool.py

index 4ba83ec3dc99758f750b3a61680dfc2d39ba2b87..6eaef9bef2beb1768c2d7baca5767e64d2ec46c0 100644 (file)
@@ -110,7 +110,12 @@ class ConnectionPool(Client):
         timeout: typing.Optional[TimeoutConfig] = None,
     ) -> Response:
         connection = await self.acquire_connection(request.url.origin, timeout=timeout)
-        response = await connection.send(request, ssl=ssl, timeout=timeout)
+        try:
+            response = await connection.send(request, ssl=ssl, timeout=timeout)
+        except BaseException as exc:
+            self.active_connections.remove(connection)
+            self.max_connections.release()
+            raise exc
         return response
 
     async def acquire_connection(