Make Barrier robust against spurious wakeups
Fix Barrier implementation so that Wait cannot return prematurely due to a spurious condition variable wakeup or interrupted futex call. Document the resulting semantics of barrier.h, which are a bit surprising, but appear to be exactly what current clients need. Fix the test so that it actually passes with the fixed barrier.h, and no longer tests for properties that can't be correctly satisfied. Improve comment for InitTimeSpec, which we almost used. (Differs from AOSP patch in that Increment returns void here, as does cv TimedWait. In AOSP they return bool.) Bug:18509123 Change-Id: I0b25f33bcd22322ba04e3951cd484843788c2bf5 (cherry picked from commit 5567c11b)
Loading
Please sign in to comment