Author: mgoulish Date: Fri Jan 27 16:18:01 2012 New Revision: 1236729 URL: http://svn.apache.org/viewvc?rev=1236729&view=rev Log: qpid-3778 fix for previous fix. This one doesn't break qpid.tests.connection.ConnectionTest.testCloseGet and qpid.tests.connection.ConnectionTest.testCloseListen
Modified: qpid/trunk/qpid/python/qpid/connection.py Modified: qpid/trunk/qpid/python/qpid/connection.py URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/connection.py?rev=1236729&r1=1236728&r2=1236729&view=diff ============================================================================== --- qpid/trunk/qpid/python/qpid/connection.py (original) +++ qpid/trunk/qpid/python/qpid/connection.py Fri Jan 27 16:18:01 2012 @@ -27,6 +27,7 @@ from generator import control_invoker from exceptions import * from logging import getLogger import delegates, socket +import sys class ChannelBusy(Exception): pass @@ -159,11 +160,16 @@ class Connection(Framer): while not self.closed: try: data = self.sock.recv(64*1024) - if self.security_layer_rx and data: - status, data = self.security_layer_rx.decode(data) if not data: self.detach_all() break + # If we have a security layer and it sends us no decoded data, + # that's OK as long as its return code is happy. + if self.security_layer_rx: + status, data = self.security_layer_rx.decode(data) + if not status: + self.detach_all() + break except socket.timeout: if self.aborted(): self.close_code = (None, "connection timed out") --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org