| 187 | // not merely live *up to* this store, the store is also ordered |
| 188 | // *before* any later free. The owner may free the latch as soon as |
| 189 | // `check` reports non-`Pending`, and that check is ordered after this |
| 190 | // store, so there can be no data race. |
| 191 | unsafe { (*latch).state.store(state, Ordering::Release) }; |
| 192 | // Finally we try to signal the target thread on it's semaphore, just in |
| 193 | // case it missed the notification and is currently waiting. This |
| 194 | // guarantees that the other thread will make progress. |