summaryrefslogtreecommitdiffstats
path: root/runtime/thread-inl.h
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-11-11 23:08:07 -0800
committerIan Rogers <irogers@google.com>2014-11-12 15:29:12 -0800
commit4ad5cd3e7d519484559ef778d96fb3f0be8919fa (patch)
tree9870938a0552b4fe472d9994a55a3bf761fc69d5 /runtime/thread-inl.h
parent741e287b60136db49ecf8da72f2b5ca48b0a39bd (diff)
downloadart-4ad5cd3e7d519484559ef778d96fb3f0be8919fa.zip
art-4ad5cd3e7d519484559ef778d96fb3f0be8919fa.tar.gz
art-4ad5cd3e7d519484559ef778d96fb3f0be8919fa.tar.bz2
Modify the behavior of thread suspend shootouts.
The thread doing the suspension doesn't attempt to suspend the other thread unless it knows another thread isn't trying to suspend it. Use the suspend count, and its lock, for this purpose. Re-enable ThreadStress test. Bug: 15446488 Change-Id: Idd34410c7b89d8abd6973e5699a15ca699472c78
Diffstat (limited to 'runtime/thread-inl.h')
-rw-r--r--runtime/thread-inl.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/thread-inl.h b/runtime/thread-inl.h
index 94f7585..e30e745 100644
--- a/runtime/thread-inl.h
+++ b/runtime/thread-inl.h
@@ -85,7 +85,7 @@ inline void Thread::AssertThreadSuspensionIsAllowable(bool check_locks) const {
bool bad_mutexes_held = false;
for (int i = kLockLevelCount - 1; i >= 0; --i) {
// We expect no locks except the mutator_lock_ or thread list suspend thread lock.
- if (i != kMutatorLock && i != kThreadListSuspendThreadLock) {
+ if (i != kMutatorLock) {
BaseMutex* held_mutex = GetHeldMutex(static_cast<LockLevel>(i));
if (held_mutex != NULL) {
LOG(ERROR) << "holding \"" << held_mutex->GetName()