Relocking an owned NORMAL mutex with an absolute timeout has two issues: - nanosleep(2) is never restarted, so any caught signal causes an early ETIMEDOUT. - If CLOCK_REALTIME or CLOCK_TAI are stepped backward during the sleep, the call also returns ETIMEDOUT before the clock reaches the deadline. The kernel already polls CPU-time clocks and handles realtime steps. Use _thr_umtx_timedwait_uint() in a loop to handle both issues.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped