From b05d1979423a72b33a9180a2ea8b64678168398a Mon Sep 17 00:00:00 2001 From: DistantJragon Date: Mon, 8 Jun 2026 18:01:21 -0400 Subject: [PATCH] Ensure connections are cleaned up --- a2s/a2s_async.py | 8 +++++--- a2s/a2s_sync.py | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/a2s/a2s_async.py b/a2s/a2s_async.py index 5131c35..270005e 100644 --- a/a2s/a2s_async.py +++ b/a2s/a2s_async.py @@ -19,9 +19,11 @@ logger = logging.getLogger("a2s") async def request_async(address, timeout, encoding, a2s_proto): conn = await A2SStreamAsync.create(address, timeout) - response = await request_async_impl(conn, encoding, a2s_proto) - conn.close() - return response + try: + response = await request_async_impl(conn, encoding, a2s_proto) + return response + finally: + conn.close() async def request_async_impl(conn, encoding, a2s_proto, challenge=0, retries=0, ping=None): send_time = time.monotonic() diff --git a/a2s/a2s_sync.py b/a2s/a2s_sync.py index 6e97e33..ee5d543 100644 --- a/a2s/a2s_sync.py +++ b/a2s/a2s_sync.py @@ -19,9 +19,11 @@ logger = logging.getLogger("a2s") def request_sync(address, timeout, encoding, a2s_proto): conn = A2SStream(address, timeout) - response = request_sync_impl(conn, encoding, a2s_proto) - conn.close() - return response + try: + response = request_sync_impl(conn, encoding, a2s_proto) + return response + finally: + conn.close() def request_sync_impl(conn, encoding, a2s_proto, challenge=0, retries=0, ping=None): send_time = time.monotonic()