From 825b92618ef6eba61ae6ab29ff8c0a08bad91b95 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 27 Apr 2010 16:49:58 +0000 Subject: add handling for sasl related failures during connection start git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@938558 13f79535-47bb-0310-9956-ffa450edef68 --- python/qpid/connection.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'python') diff --git a/python/qpid/connection.py b/python/qpid/connection.py index 39fd7d5ff8..2c61e5a51b 100644 --- a/python/qpid/connection.py +++ b/python/qpid/connection.py @@ -144,8 +144,10 @@ class Connection(Framer): self.delegate.start() self.thread.start() if not wait(self.condition, lambda: self.opened or self.failed, timeout): + self.thread.join() raise Timeout() if self.failed: + self.thread.join() raise ConnectionFailed(*self.close_code) def run(self): @@ -176,7 +178,14 @@ class Connection(Framer): seg_dec.write(*frame_dec.read()) op_dec.write(*seg_dec.read()) for op in op_dec.read(): - self.delegate.received(op) + try: + self.delegate.received(op) + except Closed, e: + self.close_code = (None, str(e)) + if not self.opened: + self.failed = True + self.closed = True + notify(self.condition) self.sock.close() def write_op(self, op): -- cgit v1.2.1