From eab4f511eb1c077c4f3be67d1d5b2591a9ff1d53 Mon Sep 17 00:00:00 2001 From: Bruce Merry Date: Mon, 18 Mar 2019 09:24:47 +0200 Subject: Unregister socket from ready_poller It looks like there was a typo in PollSelector.close that made it unregister from the read_poller twice instead of once from each poller. --- redis/selector.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redis/selector.py b/redis/selector.py index 8c0ab8a..bce84a5 100644 --- a/redis/selector.py +++ b/redis/selector.py @@ -131,7 +131,7 @@ if hasattr(select, 'poll'): """ for poller in (self.read_poller, self.ready_poller): try: - self.read_poller.unregister(self.sock) + poller.unregister(self.sock) except (KeyError, ValueError): # KeyError is raised if somehow the socket was not # registered -- cgit v1.2.1 From a97c21d88f6ff463729c9344a93301b1644861c6 Mon Sep 17 00:00:00 2001 From: Bruce Merry Date: Mon, 18 Mar 2019 09:39:18 +0200 Subject: Close the selector on disconnect --- redis/connection.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/redis/connection.py b/redis/connection.py index beeba30..851690f 100755 --- a/redis/connection.py +++ b/redis/connection.py @@ -581,6 +581,8 @@ class Connection(object): self._parser.on_disconnect() if self._sock is None: return + self._selector.close() + self._selector = None try: if os.getpid() == self.pid: self._sock.shutdown(socket.SHUT_RDWR) -- cgit v1.2.1