summaryrefslogtreecommitdiff
path: root/redis/connection.py
diff options
context:
space:
mode:
authorAndy McCurdy <andy@andymccurdy.com>2016-06-05 16:06:41 -0700
committerAndy McCurdy <andy@andymccurdy.com>2016-06-05 16:06:41 -0700
commitfa8fa668c30016e7bb57cad3913b26b6f93b531f (patch)
tree69a811c16a050d238ec25e499e4e9c1e3e1d26af /redis/connection.py
parent20fc04e4e3f59952537541a2eb41e0a52b0aec8f (diff)
parentc6029fbbc210038e6fbf4466fc53bd1d440a5aa8 (diff)
downloadredis-py-fa8fa668c30016e7bb57cad3913b26b6f93b531f.tar.gz
Merge pull request #743 from closeio/retry-recv-eintr
Automatically retry EINTR for Python < 3.5 to prevent duplicate command execution
Diffstat (limited to 'redis/connection.py')
-rwxr-xr-xredis/connection.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/redis/connection.py b/redis/connection.py
index 004c7a6..a552820 100755
--- a/redis/connection.py
+++ b/redis/connection.py
@@ -17,7 +17,7 @@ except ImportError:
from redis._compat import (b, xrange, imap, byte_to_chr, unicode, bytes, long,
BytesIO, nativestr, basestring, iteritems,
LifoQueue, Empty, Full, urlparse, parse_qs,
- unquote)
+ recv, recv_into, unquote)
from redis.exceptions import (
RedisError,
ConnectionError,
@@ -123,7 +123,7 @@ class SocketBuffer(object):
try:
while True:
- data = self._sock.recv(socket_read_size)
+ data = recv(self._sock, socket_read_size)
# an empty string indicates the server shutdown the socket
if isinstance(data, bytes) and len(data) == 0:
raise socket.error(SERVER_CLOSED_CONNECTION_ERROR)
@@ -341,11 +341,11 @@ class HiredisParser(BaseParser):
while response is False:
try:
if HIREDIS_USE_BYTE_BUFFER:
- bufflen = self._sock.recv_into(self._buffer)
+ bufflen = recv_into(self._sock, self._buffer)
if bufflen == 0:
raise socket.error(SERVER_CLOSED_CONNECTION_ERROR)
else:
- buffer = self._sock.recv(socket_read_size)
+ buffer = recv(self._sock, socket_read_size)
# an empty string indicates the server shutdown the socket
if not isinstance(buffer, bytes) or len(buffer) == 0:
raise socket.error(SERVER_CLOSED_CONNECTION_ERROR)