summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2016-07-06 12:12:28 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-07-06 12:12:28 +0000
commit94aaec95445ac06ed5ec065a7e21ddd752652cee (patch)
tree61913b1a2ba67d47887b1c4860df878557b064c6
parented22d481c12f1e03ea2ce78a0ce71f9d219892ee (diff)
parentd778cd68c5d093c2fb95f91608deb36fea8e8bad (diff)
Merge "Expect spurious wake-up from futex(2)/FUTEX_WAIT call."
-rw-r--r--runtime/thread_list.cc6
1 files changed, 1 insertions, 5 deletions
diff --git a/runtime/thread_list.cc b/runtime/thread_list.cc
index 97bcb7d406..16ef0fff22 100644
--- a/runtime/thread_list.cc
+++ b/runtime/thread_list.cc
@@ -613,11 +613,7 @@ void ThreadList::SuspendAllInternal(Thread* self,
PLOG(FATAL) << "futex wait failed for SuspendAllInternal()";
}
}
- } else {
- cur_val = pending_threads.LoadRelaxed();
- CHECK_EQ(cur_val, 0);
- break;
- }
+ } // else re-check pending_threads in the next iteration (this may be a spurious wake-up).
#else
// Spin wait. This is likely to be slow, but on most architecture ART_USE_FUTEXES is set.
#endif