tsocket error handling - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 8e5fbadc58ee2606f3433dcdbadeaa285b5cb410 DIR parent 640a6a3bf99656a55d84ae2ac05a0212588e927f HTML Author: ThomasV <thomasv@gitorious> Date: Mon, 28 Jul 2014 22:35:49 +0200 socket error handling Diffstat: M lib/util.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) --- DIR diff --git a/lib/util.py b/lib/util.py t@@ -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