summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBea Steers <bea.steers@gmail.com>2022-04-04 06:18:32 -0400
committerGitHub <noreply@github.com>2022-04-04 13:18:32 +0300
commitff938171ecec864fd820a7e2b5add3e311b7b3df (patch)
tree1233a3eaab963fd4dd3e1e974ef91c2f70ead5fc
parent51a4dd91f05fe003ba0edacfcc6e6cebe2064e38 (diff)
downloadredis-py-ff938171ecec864fd820a7e2b5add3e311b7b3df.tar.gz
always clear reference to closed reader/writer (#2077)
* always clear reference to reader/writer * add #2065 to changes
-rw-r--r--CHANGES1
-rw-r--r--redis/asyncio/connection.py5
2 files changed, 4 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 95843ec..010612f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,7 @@
* Fix cursor returned by SCAN for RedisCluster & change default target to PRIMARIES
* Fix scan_iter for RedisCluster
* Remove verbose logging when initializing ClusterPubSub, ClusterPipeline or RedisCluster
+ * Fix broken connection writer lock-up for asyncio (#2065)
* 4.1.3 (Feb 8, 2022)
* Fix flushdb and flushall (#1926)
diff --git a/redis/asyncio/connection.py b/redis/asyncio/connection.py
index 0c53985..f0e6d3d 100644
--- a/redis/asyncio/connection.py
+++ b/redis/asyncio/connection.py
@@ -827,8 +827,9 @@ class Connection:
await self._writer.wait_closed() # type: ignore[union-attr]
except OSError:
pass
- self._reader = None
- self._writer = None
+ finally:
+ self._reader = None
+ self._writer = None
except asyncio.TimeoutError:
raise TimeoutError(
f"Timed out closing connection after {self.socket_connect_timeout}"