From a41dbb3c857bb20cb7df0dbfd75e98652f51fd6d Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Mon, 25 Sep 2006 17:33:26 +0000 Subject: Close channels on fatal errors to prevent hangs, provide useful stack trace. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@449750 13f79535-47bb-0310-9956-ffa450edef68 --- python/qpid/message.py | 2 +- python/qpid/peer.py | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'python/qpid') diff --git a/python/qpid/message.py b/python/qpid/message.py index 08b3e70c0b..ae06c934c1 100644 --- a/python/qpid/message.py +++ b/python/qpid/message.py @@ -26,7 +26,7 @@ class Message: def __len__(self): l = len(self.fields) - if method.content: + if self.method.content: l += 1 return len(self.fields) diff --git a/python/qpid/peer.py b/python/qpid/peer.py index 4179a05568..31d3d24f5f 100644 --- a/python/qpid/peer.py +++ b/python/qpid/peer.py @@ -57,13 +57,10 @@ class Peer: thread.start_new_thread(self.reader, ()) thread.start_new_thread(self.worker, ()) - def fatal(message=None): - """Call when an unexpected exception occurs that will kill a thread. - - In this case it's better to crash the process than to continue in - an invalid state with a missing thread.""" + def fatal(self, message=None): + """Call when an unexpected exception occurs that will kill a thread.""" if message: print >> sys.stderr, message - traceback.print_exc() + self.close("Fatal error: %s\n%s" % (message or "", traceback.format_exc())) def reader(self): try: -- cgit v1.2.1