[PATCH] threadutil: use 'with' statements for lock
Nicolas Sebrecht
nicolas.s-dev at laposte.net
Wed Jun 29 00:56:36 BST 2016
Improve code for waiting the accountThreads.
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev at laposte.net>
---
The following changes since commit 3293b75c9c735f054eb267afcc6f3f9713e6c1aa:
release.sh: get_git_who(): remove unnecessary blank line (2016-06-27 16:11:44 +0200)
are available in the git repository at:
https://github.com/nicolas33/offlineimap.git ns/with
for you to fetch changes up to af6679be778aec99b87dd6f809cd2e16d21eadd3:
threadutil: use 'with' statements for lock (2016-06-28 02:20:12 +0200)
----------------------------------------------------------------
offlineimap/threadutil.py | 23 +++++++----------------
1 file changed, 7 insertions(+), 16 deletions(-)
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()
--
2.7.4
More information about the OfflineIMAP-project
mailing list