From 4ecc52052b367bd5b94aeca1cf8ee63bba74da47 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Fri, 12 Jun 2009 14:00:01 +0700 Subject: [PATCH] pools: don't use channel (which is now deprecated) use queue(0) directly --- eventlet/pools.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/eventlet/pools.py b/eventlet/pools.py index 09385cf..5418a82 100644 --- a/eventlet/pools.py +++ b/eventlet/pools.py @@ -25,7 +25,6 @@ THE SOFTWARE. import collections from eventlet import api -from eventlet import channel from eventlet import coros class FanFailed(RuntimeError): @@ -75,7 +74,7 @@ class Pool(object): self.max_size = max_size self.order_as_stack = order_as_stack self.current_size = 0 - self.channel = channel.channel() + self.channel = coros.queue(0) self.free_items = collections.deque() for x in xrange(min_size): self.current_size += 1 @@ -90,7 +89,7 @@ class Pool(object): created = self.create() self.current_size += 1 return created - return self.channel.receive() + return self.channel.wait() def put(self, item): """Put an item back into the pool, when done @@ -99,7 +98,7 @@ class Pool(object): self.current_size -= 1 return - if self.channel.balance < 0: + if self.channel.sem.balance < 0: self.channel.send(item) else: if self.order_as_stack: @@ -120,8 +119,8 @@ class Pool(object): def waiting(self): """Return the number of routines waiting for a pool item. """ - if self.channel.balance < 0: - return -self.channel.balance + if self.channel.sem.balance < 0: + return -self.channel.sem.balance return 0 def create(self):