=== modified file 'src/txamqp/protocol.py' --- src/txamqp/protocol.py 2012-05-05 09:51:30 +0000 +++ src/txamqp/protocol.py 2012-05-10 15:46:02 +0000 @@ -47,6 +47,7 @@ return self.closed = True self.reason = reason + self.client.channelClosed(self,Failure(reason)) self.incoming.close() self.responses.close() if not self._closing: @@ -396,3 +397,8 @@ def channelFailed(self, channel, reason): """Unexpected channel close""" pass + + def channelClosed(self, channel, reason): + """Unconditional channel close""" + if channel.id in self.channels: + del self.channels[channel.id]