commit 8e5fbadc58ee2606f3433dcdbadeaa285b5cb410
parent 640a6a3bf99656a55d84ae2ac05a0212588e927f
Author: ThomasV <thomasv@gitorious>
Date: Mon, 28 Jul 2014 22:35:49 +0200
socket error handling
Diffstat:
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/lib/util.py b/lib/util.py
@@ -287,27 +287,24 @@ class SocketPipe:
def _send(self, out):
while out:
try:
- sent = self.socket.send( out )
+ sent = self.socket.send(out)
out = out[sent:]
except ssl.SSLError as e:
- print_error( "SSLError: retry", e)
+ print_error("SSLError:", e)
time.sleep(0.1)
continue
-
except socket.error as e:
if e[0] in (errno.EWOULDBLOCK,errno.EAGAIN):
- print_error( "EAGAIN: retrying")
+ print_error("EAGAIN: retrying")
time.sleep(0.1)
continue
- elif e[0] == 'The write operation timed out':
- print_error( "ssl: retry")
+ elif e[0] in ['timed out', 'The write operation timed out']:
+ print_error("socket timeout, retry")
time.sleep(0.1)
continue
else:
- print repr(e[0])
traceback.print_exc(file=sys.stdout)
- print_error( "Not connected, cannot send" )
- return False
+ raise e