Kaydet (Commit) 448da718 authored tarafından Antoine Pitrou's avatar Antoine Pitrou

Issue #3890: Fix recv() and recv_into() on non-blocking SSL sockets.

üst 56472c24
......@@ -210,16 +210,9 @@ class SSLSocket(socket):
if self._sslobj:
if flags != 0:
raise ValueError(
"non-zero flags not allowed in calls to sendall() on %s" %
"non-zero flags not allowed in calls to recv() on %s" %
self.__class__)
while True:
try:
return self.read(buflen)
except SSLError, x:
if x.args[0] == SSL_ERROR_WANT_READ:
continue
else:
raise x
return self.read(buflen)
else:
return socket.recv(self, buflen, flags)
......@@ -233,17 +226,10 @@ class SSLSocket(socket):
raise ValueError(
"non-zero flags not allowed in calls to recv_into() on %s" %
self.__class__)
while True:
try:
tmp_buffer = self.read(nbytes)
v = len(tmp_buffer)
buffer[:v] = tmp_buffer
return v
except SSLError as x:
if x.args[0] == SSL_ERROR_WANT_READ:
continue
else:
raise x
tmp_buffer = self.read(nbytes)
v = len(tmp_buffer)
buffer[:v] = tmp_buffer
return v
else:
return socket.recv_into(self, buffer, nbytes, flags)
......
......@@ -24,6 +24,8 @@ Core and Builtins
Library
-------
- Issue #3890: Fix recv() and recv_into() on non-blocking SSL sockets.
- Issue #8179: Fix macpath.realpath() on a non-existing path.
- Issue #8024: Update the Unicode database to 5.2.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment