summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xredis/connection.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/redis/connection.py b/redis/connection.py
index 776bab8..9d39dbb 100755
--- a/redis/connection.py
+++ b/redis/connection.py
@@ -185,8 +185,16 @@ class SocketBuffer(object):
self.bytes_read = 0
def close(self):
- self.purge()
- self._buffer.close()
+ try:
+ self.purge()
+ self._buffer.close()
+ except:
+ # issue #633 suggests the purge/close someone raised a
+ # BadFileDescriptor error. Perhaps the client ran out of
+ # memory or something else? It's probably OK to ignore
+ # any error being raised from purge/close since we're
+ # removing the the reference to the instance below.
+ pass
self._buffer = None
self._sock = None