diff options
author | Kali Kaneko <kali@leap.se> | 2015-01-16 20:03:11 -0400 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2015-02-11 14:06:44 -0400 |
commit | 782fb8d66aabb29d68712e2fc220d967ef8dfcf5 (patch) | |
tree | 1bd536cb99e824a288923be90fe7bd7409ea09e7 /src/leap/bitmask/services/mail | |
parent | 46fabd42ad4cac7ce1b7f1818064f1c2e5c002c1 (diff) |
remove use of threading.Condition
we should deal with this with pure deferreds
Diffstat (limited to 'src/leap/bitmask/services/mail')
-rw-r--r-- | src/leap/bitmask/services/mail/imapcontroller.py | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/leap/bitmask/services/mail/imapcontroller.py b/src/leap/bitmask/services/mail/imapcontroller.py index bb9eb9dc..1b39ef91 100644 --- a/src/leap/bitmask/services/mail/imapcontroller.py +++ b/src/leap/bitmask/services/mail/imapcontroller.py @@ -84,16 +84,16 @@ class IMAPController(object): d.addCallback(assign_incoming_service) d.addErrback(lambda f: logger.error(f.printTraceback())) - def stop_imap_service(self, cv): + def stop_imap_service(self): """ Stop IMAP service (fetcher, factory and port). - - :param cv: A condition variable to which we can signal when imap - indeed stops. - :type cv: threading.Condition """ if self.incoming_mail_service is not None: # Stop the loop call in the fetcher + + # XXX BUG -- the deletion of the reference should be made + # after stopService() triggers its deferred (ie, cleanup has been + # made) self.incoming_mail_service.stopService() self.incoming_mail_service = None @@ -103,12 +103,7 @@ class IMAPController(object): # Stop the protocol self.imap_factory.theAccount.closed = True - self.imap_factory.doStop(cv) - else: - # Release the condition variable so the caller doesn't have to wait - cv.acquire() - cv.notify() - cv.release() + self.imap_factory.doStop() def fetch_incoming_mail(self): """ |