You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2010/06/08 18:42:35 UTC
svn commit: r952731 - /qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py
Author: kgiusti
Date: Tue Jun 8 16:42:35 2010
New Revision: 952731
URL: http://svn.apache.org/viewvc?rev=952731&view=rev
Log:
QMF: ignore errors when servicing messages over a closed session.
Modified:
qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py
Modified: qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py?rev=952731&r1=952730&r2=952731&view=diff
==============================================================================
--- qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py (original)
+++ qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py Tue Jun 8 16:42:35 2010
@@ -2390,8 +2390,12 @@ class Broker:
elif agent:
agent._handleQmfV1Message(opcode, seq, mp, ah, codec)
- self.amqpSession.receiver._completed.add(msg.id)
- self.amqpSession.channel.session_completed(self.amqpSession.receiver._completed)
+ # ignore failures as the session may be shutting down...
+ try:
+ self.amqpSession.receiver._completed.add(msg.id)
+ self.amqpSession.channel.session_completed(self.amqpSession.receiver._completed)
+ except:
+ pass
def _v2Cb(self, msg):
"""
@@ -2404,13 +2408,21 @@ class Broker:
if 'qmf.opcode' in ah:
opcode = ah['qmf.opcode']
if mp.content_type == "amqp/list":
- content = codec.read_list()
- if not content:
- content = []
+ try:
+ content = codec.read_list()
+ if not content:
+ content = []
+ except:
+ # malformed list - ignore
+ content = None
elif mp.content_type == "amqp/map":
- content = codec.read_map()
- if not content:
- content = {}
+ try:
+ content = codec.read_map()
+ if not content:
+ content = {}
+ except:
+ # malformed map - ignore
+ content = None
else:
content = None
@@ -2433,8 +2445,12 @@ class Broker:
agent = self.agents[agent_addr]
agent._handleQmfV2Message(opcode, mp, ah, content)
- self.amqpSession.receiver._completed.add(msg.id)
- self.amqpSession.channel.session_completed(self.amqpSession.receiver._completed)
+ # ignore failures as the session may be shutting down...
+ try:
+ self.amqpSession.receiver._completed.add(msg.id)
+ self.amqpSession.channel.session_completed(self.amqpSession.receiver._completed)
+ except:
+ pass
def _exceptionCb(self, data):
self.connected = False
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org