Wake up the first waiter that isn't done.
(self)
| 435 | self._wake_up_next() |
| 436 | |
| 437 | def _wake_up_next(self): |
| 438 | """Wake up the first waiter that isn't done.""" |
| 439 | if not self._waiters: |
| 440 | return False |
| 441 | |
| 442 | for fut in self._waiters: |
| 443 | if not fut.done(): |
| 444 | self._value -= 1 |
| 445 | fut.set_result(True) |
| 446 | # `fut` is now `done()` and not `cancelled()`. |
| 447 | return True |
| 448 | return False |
| 449 | |
| 450 | |
| 451 | class BoundedSemaphore(Semaphore): |
no test coverage detected