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):
408408 """Wake up the first waiter if it isn't done."""
409409 if not self ._waiters :
410410 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
422415
423416class BoundedSemaphore (Semaphore ):
424417 """A bounded semaphore implementation.
Original file line number Diff line number Diff line change @@ -846,7 +846,7 @@ async def c4(result):
846846 sem .release ()
847847 self .assertEqual (2 , sem ._value )
848848
849- await asyncio .sleep (0.01 )
849+ await asyncio .sleep (0 )
850850 self .assertEqual (0 , sem ._value )
851851 self .assertEqual (3 , len (result ))
852852 self .assertTrue (sem .locked ())
@@ -888,7 +888,7 @@ async def test_acquire_cancel_before_awoken(self):
888888 t2 .cancel ()
889889 sem .release ()
890890
891- await asyncio .sleep (0.01 )
891+ await asyncio .sleep (0 )
892892 num_done = sum (t .done () for t in [t3 , t4 ])
893893 self .assertEqual (num_done , 1 )
894894 self .assertTrue (t3 .done ())
You can’t perform that action at this time.
0 commit comments