# greater than 1. To force it to synchronize only one account at a
# time, set it to 1.
#
+# Note: if you are using autorefresh and have more than one account,
+# you must set this number to be >= to the number of accounts you have;
+# since any given sync run never "finishes" due to a timer, you will never
+# sync your additional accounts if this is 1.
maxsyncaccounts = 1
from threading import *
from StringIO import StringIO
-from Queue import Queue
-import sys, traceback, thread
+from Queue import Queue, Empty
+import sys, traceback, thread, time
from offlineimap.ui import UIBase # for getglobalui()
profiledir = None
# Exit-notify threads
######################################################################
-exitthreads = Queue(5)
+exitthreads = Queue(100)
inited = 0
def initexitnotify():
"""
global exitthreads
while 1: # Loop forever.
- callback(exitthreads.get(True))
- exitthreads.task_done()
+ try:
+ thrd = exitthreads.get(False)
+ callback(thrd)
+ exitthreads.task_done()
+ except Empty:
+ time.sleep(1)
def threadexited(thread):
"""Called when a thread exits."""