You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2007/08/08 19:11:15 UTC

svn commit: r563945 - /incubator/qpid/trunk/qpid/python/qpid/peer.py

Author: gsim
Date: Wed Aug  8 10:11:12 2007
New Revision: 563945

URL: http://svn.apache.org/viewvc?view=rev&rev=563945
Log:
Timeout after waiting for completion that doesn't arrive.


Modified:
    incubator/qpid/trunk/qpid/python/qpid/peer.py

Modified: incubator/qpid/trunk/qpid/python/qpid/peer.py
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/qpid/peer.py?view=diff&rev=563945&r1=563944&r2=563945
==============================================================================
--- incubator/qpid/trunk/qpid/python/qpid/peer.py (original)
+++ incubator/qpid/trunk/qpid/python/qpid/peer.py Wed Aug  8 10:11:12 2007
@@ -269,7 +269,7 @@
       
       self.request(frame, self.queue_response, content)
       if not frame.method.responses:
-        if self.use_execution_layer and type.klass.name != "execution":
+        if self.use_execution_layer and type.is_l4_command():
           self.execution_flush()
           self.completion.wait()                  
           if self.closed:
@@ -312,11 +312,13 @@
         else:
           raise ValueError(resp)
       elif self.synchronous and not frame.method.response \
-               and self.use_execution_layer and frame.method.klass.name != "execution":
+               and self.use_execution_layer and frame.method.is_l4_command():
         self.execution_flush()
-        self.completion.wait()                  
+        completed = self.completion.wait(timeout=10)                  
         if self.closed:
           raise Closed(self.reason)
+        if not completed:
+          raise close("Timed-out waiting for completion")
 
     except QueueClosed, e:
       if self.closed: