File tree Expand file tree Collapse file tree 2 files changed +6
-13
lines changed Expand file tree Collapse file tree 2 files changed +6
-13
lines changed Original file line number Diff line number Diff line change @@ -408,17 +408,10 @@ def _wake_up_first(self):
408
408
"""Wake up the first waiter if it isn't done."""
409
409
if not self ._waiters :
410
410
return
411
- try :
412
- fut = next (iter (self ._waiters ))
413
- except StopIteration :
414
- return
415
-
416
- # .done() necessarily means that a waiter will wake up later on and
417
- # either take the lock, or, if it was cancelled and lock wasn't
418
- # taken already, will hit this again and wake up a new waiter.
419
- if not fut .done ():
420
- fut .set_result (True )
421
-
411
+ for fut in self ._waiters :
412
+ if not fut .done ():
413
+ fut .set_result (True )
414
+ break
422
415
423
416
class BoundedSemaphore (Semaphore ):
424
417
"""A bounded semaphore implementation.
Original file line number Diff line number Diff line change @@ -846,7 +846,7 @@ async def c4(result):
846
846
sem .release ()
847
847
self .assertEqual (2 , sem ._value )
848
848
849
- await asyncio .sleep (0.01 )
849
+ await asyncio .sleep (0 )
850
850
self .assertEqual (0 , sem ._value )
851
851
self .assertEqual (3 , len (result ))
852
852
self .assertTrue (sem .locked ())
@@ -888,7 +888,7 @@ async def test_acquire_cancel_before_awoken(self):
888
888
t2 .cancel ()
889
889
sem .release ()
890
890
891
- await asyncio .sleep (0.01 )
891
+ await asyncio .sleep (0 )
892
892
num_done = sum (t .done () for t in [t3 , t4 ])
893
893
self .assertEqual (num_done , 1 )
894
894
self .assertTrue (t3 .done ())
You can’t perform that action at this time.
0 commit comments