diff options
author | Andy McCurdy <andy@andymccurdy.com> | 2011-05-22 20:21:30 -0700 |
---|---|---|
committer | Andy McCurdy <andy@andymccurdy.com> | 2011-05-22 20:21:30 -0700 |
commit | 58390a7e6d94317f7d47e7056113ac5d98d658c7 (patch) | |
tree | 59171bcbe4262726d577c4887754731305d3be70 | |
parent | c2a5026ff53dabeefa0d6fbbde6f1c2102e56b34 (diff) | |
download | redis-py-58390a7e6d94317f7d47e7056113ac5d98d658c7.tar.gz |
more error checking for socket errors
-rw-r--r-- | redis/connection.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/redis/connection.py b/redis/connection.py index b5e7a49..af82372 100644 --- a/redis/connection.py +++ b/redis/connection.py @@ -23,9 +23,9 @@ class PythonParser(object): if length is not None: return self._fp.read(length+2)[:-2] return self._fp.readline()[:-2] - except socket.error, e: + except (socket.error, socket.timeout), e: raise ConnectionError("Error while reading from socket: %s" % \ - e.args[1]) + (e.args,)) def read_response(self): response = self.read() @@ -78,7 +78,11 @@ class HiredisParser(object): def read_response(self): response = self._reader.gets() while response is False: - buffer = self._sock.recv(4096) + try: + buffer = self._sock.recv(4096) + except (socket.error, socket.timeout), e: + raise ConnectionError("Error while reading from socket: %s" % \ + (e.args,)) if not buffer: raise ConnectionError("Socket closed on remote end") self._reader.feed(buffer) @@ -264,8 +268,6 @@ class ConnectionPool(object): def release(self, connection): "Releases the connection back to the pool" - # assert self._connection == connection - # self._in_use = False self._in_use_connections.remove(connection) self._available_connections.append(connection) |