From 93864ebeafccfa53e9ac43c64fc22c79a7c73fa2 Mon Sep 17 00:00:00 2001 From: jamesbunton Date: Sat, 4 Feb 2006 12:37:41 +0000 Subject: [PATCH] Fixes to switchboard session exceptions. git-svn-id: http://delx.cjb.net/svn/pymsnt/trunk@110 55fbd22a-6204-0410-b2f0-b6c764c7e90a committer: jamesbunton --- src/tlib/msn/msnw.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/tlib/msn/msnw.py b/src/tlib/msn/msnw.py index d0e132f..6330444 100644 --- a/src/tlib/msn/msnw.py +++ b/src/tlib/msn/msnw.py @@ -615,6 +615,9 @@ class OneSwitchboardSession(SwitchboardSessionBase): self.timeout = None def __del__(self): + if self.timeout: + self.timeout.cancel() + self.timeout = None for message, noerror in self.messageBuffer: if not noerror: self.failedMessage(self.remoteUser, message) @@ -648,8 +651,11 @@ class OneSwitchboardSession(SwitchboardSessionBase): LogEvent(INFO, self.ident) if not self.reply: def failCB(arg=None): + if not (self.msncon and self.msncon.switchboardSessions.has_key(self.remoteUser)): + return LogEvent(INFO, self.ident, "User has not joined after 30 seconds.") del self.msncon.switchboardSessions[self.remoteUser] + self.timeout = None d = self.inviteUser(self.remoteUser) d.addErrback(failCB) self.timeout = reactor.callLater(30.0, failCB) -- 2.39.2