asyncio: Make Semaphore(0) work properly.

This commit is contained in:
Guido van Rossum 2013-11-21 11:07:45 -08:00
parent d88c6f9b9b
commit 9c55a58a1d
2 changed files with 6 additions and 2 deletions

View file

@ -348,12 +348,12 @@ class Semaphore:
def __init__(self, value=1, bound=False, *, loop=None):
if value < 0:
raise ValueError("Semaphore initial value must be > 0")
raise ValueError("Semaphore initial value must be >= 0")
self._value = value
self._bound = bound
self._bound_value = value
self._waiters = collections.deque()
self._locked = False
self._locked = (value == 0)
if loop is not None:
self._loop = loop
else: