]> code.delx.au - offlineimap/commitdiff
Added check for IDLE in capabilities
authorJames Bunton <James Bunton jamesbunton@fastmail.fm>
Tue, 10 Feb 2009 05:19:55 +0000 (16:19 +1100)
committerJames Bunton <James Bunton jamesbunton@fastmail.fm>
Tue, 10 Feb 2009 05:19:55 +0000 (16:19 +1100)
offlineimap/imapserver.py

index f295743646cfb8f6ef2fe93f7fd4c77b403f2b03..c850e99a01fc3963f8becdecea8dea783bbd004d 100644 (file)
@@ -401,8 +401,8 @@ class IdleThread(object):
 
     def noop(self):
         imapobj = self.parent.acquireconnection()
 
     def noop(self):
         imapobj = self.parent.acquireconnection()
-        self.event.wait()
         imapobj.noop()
         imapobj.noop()
+        self.event.wait()
         self.parent.releaseconnection(imapobj)
 
     def dosync(self):
         self.parent.releaseconnection(imapobj)
 
     def dosync(self):
@@ -429,7 +429,10 @@ class IdleThread(object):
                     self.needsync = True
                     self.event.set()
             imapobj = self.parent.acquireconnection()
                     self.needsync = True
                     self.event.set()
             imapobj = self.parent.acquireconnection()
-            imapobj.idle(callback=callback)
+            if "IDLE" in imapobj.capabilities:
+                imapobj.idle(callback=callback)
+            else:
+                imapobj.noop()
             self.event.wait()
             if self.event.isSet():
                 imapobj.noop()
             self.event.wait()
             if self.event.isSet():
                 imapobj.noop()