# HG changeset patch # User kaf24@scramble.cl.cam.ac.uk # Date 1103065188 0 # Node ID 7a1b61b77a0bb0a1773bac76b21c01af87a5b291 # Parent 12cf2ba642024e53fb49ded713fce1328e57ba20 bitkeeper revision 1.1159.187.67 (41bf7064JLmIpzjd7PLO18qfijLBrA) Avoid backtraces from Python console client. diff -r 12cf2ba64202 -r 7a1b61b77a0b tools/misc/xencons --- a/tools/misc/xencons Tue Dec 14 16:38:48 2004 +0000 +++ b/tools/misc/xencons Tue Dec 14 22:59:48 2004 +0000 @@ -27,24 +27,33 @@ def __recv_from_sock(sock): while not stop: try: data = sock.recv(1024) + except socket.error, error: + if error[0] != errno.EINTR: + raise + try: os.write(1, data) - except socket.error, error: + except os.error, error: if error[0] != errno.EINTR: raise os.wait() def __send_to_sock(sock): while 1: - data = os.read(0,1024) - if ord(data[0]) == ord(']')-64: - break try: - sock.send(data) - except socket.error, error: - if error[0] == errno.EPIPE: - sys.exit(0) + data = os.read(0,1024) + except os.error, error: if error[0] != errno.EINTR: raise + else: + if ord(data[0]) == ord(']')-64: + break + try: + sock.send(data) + except socket.error, error: + if error[0] == errno.EPIPE: + sys.exit(0) + if error[0] != errno.EINTR: + raise sys.exit(0) def connect(host,port): diff -r 12cf2ba64202 -r 7a1b61b77a0b tools/python/xen/util/console_client.py --- a/tools/python/xen/util/console_client.py Tue Dec 14 16:38:48 2004 +0000 +++ b/tools/python/xen/util/console_client.py Tue Dec 14 22:59:48 2004 +0000 @@ -27,24 +27,33 @@ def __recv_from_sock(sock): while not stop: try: data = sock.recv(1024) + except socket.error, error: + if error[0] != errno.EINTR: + raise + try: os.write(1, data) - except socket.error, error: + except os.error, error: if error[0] != errno.EINTR: raise os.wait() def __send_to_sock(sock): while 1: - data = os.read(0,1024) - if ord(data[0]) == ord(']')-64: - break try: - sock.send(data) - except socket.error, error: - if error[0] == errno.EPIPE: - sys.exit(0) + data = os.read(0,1024) + except os.error, error: if error[0] != errno.EINTR: raise + else: + if ord(data[0]) == ord(']')-64: + break + try: + sock.send(data) + except socket.error, error: + if error[0] == errno.EPIPE: + sys.exit(0) + if error[0] != errno.EINTR: + raise sys.exit(0) def connect(host,port):