Mercurial > cpython-lru_cache-weakref
diff Lib/Queue.py @ 44695:6e5675ca2559
Refactor if/elif chain for clarity and speed
| author | Raymond Hettinger <python@rcn.com> |
|---|---|
| date | Tue, 15 Jan 2008 20:42:00 +0000 |
| parents | 627f2e2273b9 |
| children | b469e90273eb |
line wrap: on
line diff
--- a/Lib/Queue.py Tue Jan 15 17:41:38 2008 +0000 +++ b/Lib/Queue.py Tue Jan 15 20:42:00 2008 +0000 @@ -102,18 +102,17 @@ """ self.not_full.acquire() try: - if not block: - if self.maxsize > 0 and self._qsize() == self.maxsize: - raise Full - elif timeout is None: - if self.maxsize > 0: + if self.maxsize > 0: + if not block: + if self._qsize() == self.maxsize: + raise Full + elif timeout is None: while self._qsize() == self.maxsize: self.not_full.wait() - else: - if timeout < 0: + elif timeout < 0: raise ValueError("'timeout' must be a positive number") - endtime = _time() + timeout - if self.maxsize > 0: + else: + endtime = _time() + timeout while self._qsize() == self.maxsize: remaining = endtime - _time() if remaining <= 0.0: @@ -152,9 +151,9 @@ elif timeout is None: while not self._qsize(): self.not_empty.wait() + elif timeout < 0: + raise ValueError("'timeout' must be a positive number") else: - if timeout < 0: - raise ValueError("'timeout' must be a positive number") endtime = _time() + timeout while not self._qsize(): remaining = endtime - _time()
