Fix a bug when packets are received on a channel after it closes.

Reported by cbowns.
This commit is contained in:
Avery Pennarun 2010-12-11 17:27:12 -08:00
parent 1907048dad
commit 41fd0348eb

View File

@ -350,8 +350,12 @@ class Mux(Handler):
else:
raise Exception('got CMD_HOST_LIST without got_host_list?')
else:
callback = self.channels[channel]
callback(cmd, data)
callback = self.channels.get(channel)
if not callback:
log('warning: closed channel %d got cmd=%s len=%d\n'
% (channel, cmd_to_name.get(cmd,hex(cmd)), len(data)))
else:
callback(cmd, data)
def flush(self):
self.wsock.setblocking(False)