diff options
| author | Chris AtLee <catlee@mozilla.com> | 2010-02-22 14:02:28 -0500 |
|---|---|---|
| committer | Chris AtLee <catlee@mozilla.com> | 2010-02-22 14:02:28 -0500 |
| commit | f07b25bedc2d75f8e837bd0d38f1d760589c3506 (patch) | |
| tree | d1c5e202230d5310bd2c5764941aa6652aa69938 /eventlet/queue.py | |
| parent | 34171a348bac1b5427618dcfb203dd4c6c48b8d0 (diff) | |
| download | eventlet-f07b25bedc2d75f8e837bd0d38f1d760589c3506.tar.gz | |
Bug 37: Implement queue resizing
Diffstat (limited to 'eventlet/queue.py')
| -rw-r--r-- | eventlet/queue.py | 9 |
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 |
