On Wed, Jun 29, 2016 at 01:56:36AM +0200, Nicolas Sebrecht wrote: > diff --git a/offlineimap/threadutil.py b/offlineimap/threadutil.py > index d5d08f8..29272db 100644 > --- a/offlineimap/threadutil.py > +++ b/offlineimap/threadutil.py > @@ -50,33 +50,24 @@ class accountThreads(object): > self.list = [] > > def add(self, thread): > - self.lock.acquire() > - try: > + with self.lock: > self.list.append(thread) > - finally: > - self.lock.release() > > def remove(self, thread): > - self.lock.acquire() > - try: > + with self.lock: > self.list.remove(thread) > - finally: > - self.lock.release() > > def pop(self): > - self.lock.acquire() > - try: > - if not len(self.list): > + with self.lock: > + if len(self.list) < 1: > return None > return self.list.pop() > - finally: > - self.lock.release() > > def wait(self): > - while 1: > + while True: > thread = self.pop() > - if not thread: > - return > + if thread is None: > + break > thread.join() > >
Definitely better approach. Ship it! _______________________________________________ OfflineIMAP-project mailing list: [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/offlineimap-project OfflineIMAP homepages: - https://github.com/OfflineIMAP - http://offlineimap.org
