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

Reply via email to