From a1c7538f89caace1f94cc5229aa1ee492e4f5027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= Date: Fri, 31 Jul 2020 16:29:12 +0300 Subject: [PATCH] Updated TLSStream to call aclose_forcefully() on exception --- src/anyio/streams/tls.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/anyio/streams/tls.py b/src/anyio/streams/tls.py index 85016427..994bcb09 100644 --- a/src/anyio/streams/tls.py +++ b/src/anyio/streams/tls.py @@ -114,11 +114,15 @@ async def unwrap(self) -> Tuple[AnyByteStream, bytes]: return self.transport_stream, self._read_bio.read() async def aclose(self) -> None: - try: - if self.standard_compatible: + if self.standard_compatible: + try: await self.unwrap() - finally: - await self.transport_stream.aclose() + except BaseException: + from .. import aclose_forcefully + await aclose_forcefully(self.transport_stream) + raise + + await self.transport_stream.aclose() async def receive(self, max_bytes: int = 65536) -> bytes: return await self._call_sslobject_method(self._ssl_object.read, max_bytes)