Commit 2f62cfe6 authored by Hans Boehm's avatar Hans Boehm
Browse files

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)
parent 25fda920
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment