summaryrefslogtreecommitdiff
path: root/eventlet/queue.py
diff options
context:
space:
mode:
authorChris AtLee <catlee@mozilla.com>2010-02-22 14:02:28 -0500
committerChris AtLee <catlee@mozilla.com>2010-02-22 14:02:28 -0500
commitf07b25bedc2d75f8e837bd0d38f1d760589c3506 (patch)
treed1c5e202230d5310bd2c5764941aa6652aa69938 /eventlet/queue.py
parent34171a348bac1b5427618dcfb203dd4c6c48b8d0 (diff)
downloadeventlet-f07b25bedc2d75f8e837bd0d38f1d760589c3506.tar.gz
Bug 37: Implement queue resizing
Diffstat (limited to 'eventlet/queue.py')
-rw-r--r--eventlet/queue.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/eventlet/queue.py b/eventlet/queue.py
index 3963381..1bf3aef 100644
--- a/eventlet/queue.py
+++ b/eventlet/queue.py
@@ -181,6 +181,15 @@ class LightQueue(object):
def qsize(self):
"""Return the size of the queue."""
return len(self.queue)
+
+ def resize(self, size):
+ """Resizes the queue's maximum size.
+
+ If the size is increased, and there are putters waiting, they may be woken up."""
+ if size > self.maxsize:
+ # Maybe wake some stuff up
+ self._schedule_unlock()
+ self.maxsize = size
def putting(self):
"""Returns the number of greenthreads that are blocked waiting to put