Skip to content

Commit 9ca03ff

Browse files
committed
refactor: check connection connected before append to free list when release it
1 parent d665750 commit 9ca03ff

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

asyncodbc/pool.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ async def release(self, conn):
192192
self._terminated.remove(conn)
193193
return
194194
self._used.remove(conn)
195-
if not conn.closed:
195+
if conn.connected and not conn.closed:
196196
if self._closing:
197197
await conn.close()
198198
else:

tests/test_pool.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ async def test_release(pool):
5252
await pool.release(conn)
5353
assert 1 == pool.freesize
5454
assert not pool._used
55+
assert conn in pool._free
56+
57+
conn2 = await pool.acquire()
58+
try:
59+
await conn2.close()
60+
finally:
61+
await pool.release(conn2)
62+
assert conn2 not in pool._free
5563

5664

5765
@pytest.mark.asyncio

0 commit comments

Comments
 (0)