(&self)
| 1487 | let offset = self.rng.next_usize(32) as u32; |
| 1488 | let mut randomized_sleeping = sleeping.rotate_right(offset); |
| 1489 | while randomized_sleeping != 0 { |
| 1490 | let index = (randomized_sleeping.trailing_zeros() + offset) % 32; |
| 1491 | randomized_sleeping &= randomized_sleeping - 1; // Clear the lowest bit |
| 1492 | let woken = |
| 1493 | self.membership.member_data.semaphores[index as usize].signal(); |
| 1494 | if woken { |
| 1495 | return; |
| 1496 | } |
| 1497 | } |
| 1498 | } |
| 1499 | |
| 1500 | /// Create a new latch owned by the worker. |
| 1501 | #[inline(always)] |
no test coverage detected