From 2054561da184955c4be4a92f0b4fa5c5c1c01350 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 9 Jun 2010 11:31:24 +0200 Subject: HSCondition: using a deck to store waiters, for further speedup --- lib/git/async/util.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/git/async/util.py') diff --git a/lib/git/async/util.py b/lib/git/async/util.py index b5e1a0c0..2c18a1b9 100644 --- a/lib/git/async/util.py +++ b/lib/git/async/util.py @@ -79,7 +79,7 @@ class HSCondition(object): if lock is None: lock = Lock() self._lock = lock - self._waiters = list() + self._waiters = deque() def release(self): self._lock.release() @@ -146,7 +146,7 @@ class HSCondition(object): # so here we assume this is thead-safe ! It wouldn't be in any other # language, but python it is. try: - self._waiters.pop(0).release() + self._waiters.popleft().release() except IndexError: pass else: @@ -156,7 +156,7 @@ class HSCondition(object): # to do that in a thread-safe fashion try: for i in range(min(n, len(self._waiters))): - self._waiters.pop(0).release() + self._waiters.popleft().release() # END for each waiter to resume finally: self.release() -- cgit v1.2.1