Merge pull request #1921 from leonelcamara/patch-13

Fixes #1918
This commit is contained in:
mdipierro
2018-06-01 12:40:58 -05:00
committed by GitHub
+13 -14
View File
@@ -470,8 +470,8 @@ class Record(object):
while length: while length:
try: try:
data = sock.recv(length) data = sock.recv(length)
except socket.error, e: except socket.error as e:
if e[0] == errno.EAGAIN: if e.errno == errno.EAGAIN:
select.select([sock], [], []) select.select([sock], [], [])
continue continue
else: else:
@@ -527,8 +527,8 @@ class Record(object):
while length: while length:
try: try:
sent = sock.send(data) sent = sock.send(data)
except socket.error, e: except socket.error as e:
if e[0] == errno.EAGAIN: if e.errno == errno.EAGAIN:
select.select([], [sock], []) select.select([], [sock], [])
continue continue
else: else:
@@ -665,7 +665,7 @@ class Connection(object):
except EOFError: except EOFError:
break break
except (select.error, socket.error), e: except (select.error, socket.error), e:
if e[0] == errno.EBADF: # Socket was closed by Request. if e.errno == errno.EBADF: # Socket was closed by Request.
break break
raise raise
@@ -990,11 +990,11 @@ class Server(object):
socket.SOCK_STREAM) socket.SOCK_STREAM)
try: try:
sock.getpeername() sock.getpeername()
except socket.error, e: except socket.error as e:
if e[0] == errno.ENOTSOCK: if e.errno == errno.ENOTSOCK:
# Not a socket, assume CGI context. # Not a socket, assume CGI context.
isFCGI = False isFCGI = False
elif e[0] != errno.ENOTCONN: elif e.errno != errno.ENOTCONN:
raise raise
# FastCGI/CGI discrimination is broken on Mac OS X. # FastCGI/CGI discrimination is broken on Mac OS X.
@@ -1078,15 +1078,15 @@ class Server(object):
try: try:
r, w, e = select.select([sock], [], [], timeout) r, w, e = select.select([sock], [], [], timeout)
except select.error, e: except select.error, e:
if e[0] == errno.EINTR: if e.errno == errno.EINTR:
continue continue
raise raise
if r: if r:
try: try:
clientSock, addr = sock.accept() clientSock, addr = sock.accept()
except socket.error, e: except socket.error as e:
if e[0] in (errno.EINTR, errno.EAGAIN): if e.errno in (errno.EINTR, errno.EAGAIN):
continue continue
raise raise
@@ -1273,8 +1273,8 @@ class WSGIServer(Server):
finally: finally:
if hasattr(result, 'close'): if hasattr(result, 'close'):
result.close() result.close()
except socket.error, e: except socket.error as e:
if e[0] != errno.EPIPE: if e.errno != errno.EPIPE:
raise # Don't let EPIPE propagate beyond server raise # Don't let EPIPE propagate beyond server
finally: finally:
if not self.multithreaded: if not self.multithreaded:
@@ -1329,4 +1329,3 @@ if __name__ == '__main__':
'</body></html>\n' '</body></html>\n'
WSGIServer(test_app).run() WSGIServer(test_app).run()