Author: rhs Date: Fri Sep 4 11:33:31 2009 New Revision: 811350 URL: http://svn.apache.org/viewvc?rev=811350&view=rev Log: fixed the wait logic for session close
Modified: qpid/trunk/qpid/python/qpid/driver.py qpid/trunk/qpid/python/qpid/messaging.py Modified: qpid/trunk/qpid/python/qpid/driver.py URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/driver.py?rev=811350&r1=811349&r2=811350&view=diff ============================================================================== --- qpid/trunk/qpid/python/qpid/driver.py (original) +++ qpid/trunk/qpid/python/qpid/driver.py Fri Sep 4 11:33:31 2009 @@ -191,6 +191,7 @@ if ssn.closing: _ssn.close() del self._attachments[ssn] + ssn.closed = True def _exchange_query(self, ssn, address): # XXX: auto sync hack is to avoid deadlock on future Modified: qpid/trunk/qpid/python/qpid/messaging.py URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/messaging.py?rev=811350&r1=811349&r2=811350&view=diff ============================================================================== --- qpid/trunk/qpid/python/qpid/messaging.py (original) +++ qpid/trunk/qpid/python/qpid/messaging.py Fri Sep 4 11:33:31 2009 @@ -286,6 +286,7 @@ self.closed = False self._lock = connection._lock + self.running = True self.thread = Thread(target = self.run) self.thread.setDaemon(True) self.thread.start() @@ -460,6 +461,7 @@ @synchronized def run(self): + self.running = True try: while True: msg = self._get(self._pred) @@ -470,7 +472,7 @@ if self._peek(self._pred) is None: self.connection._waiter.notifyAll() finally: - self.closed = True + self.running = False self.connection._waiter.notifyAll() @synchronized @@ -483,7 +485,7 @@ self.closing = True self._wakeup() - self._ewait(lambda: self.closed) + self._ewait(lambda: self.closed and not self.running) while self.thread.isAlive(): self.thread.join(3) self.thread = None --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org