From 73cca6ff8a8134ddbf56c8aef80bb3cc46b83a7d Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 2 Jul 2013 17:40:28 -0700 Subject: Fix DDMS lock ordering error. Renamed kJdwpSerialLock to guard both the jdwp socket and serial. Moved the lock priority higher than the alloc space lock priority. This is needed since walking the dlmalloc heap requires acquiring the alloc space lock. Change-Id: Idce47ea8c400643829edc5aaebb57f8b686b2853 --- src/jdwp/jdwp_main.cc | 4 ++-- src/locks.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/jdwp/jdwp_main.cc b/src/jdwp/jdwp_main.cc index df7498851d..3b6dd810cc 100644 --- a/src/jdwp/jdwp_main.cc +++ b/src/jdwp/jdwp_main.cc @@ -36,7 +36,7 @@ static void* StartJdwpThread(void* arg); * JdwpNetStateBase class implementation */ JdwpNetStateBase::JdwpNetStateBase(JdwpState* state) - : state_(state), socket_lock_("JdwpNetStateBase lock") { + : state_(state), socket_lock_("JdwpNetStateBase lock", kJdwpSerialSocketLock) { clientSock = -1; wake_pipe_[0] = -1; wake_pipe_[1] = -1; @@ -211,7 +211,7 @@ JdwpState::JdwpState(const JdwpOptions* options) attach_lock_("JDWP attach lock", kJdwpAttachLock), attach_cond_("JDWP attach condition variable", attach_lock_), last_activity_time_ms_(0), - serial_lock_("JDWP serial lock", kJdwpSerialLock), + serial_lock_("JDWP serial lock", kJdwpSerialSocketLock), request_serial_(0x10000000), event_serial_(0x20000000), event_list_lock_("JDWP event list lock", kJdwpEventListLock), diff --git a/src/locks.h b/src/locks.h index 202fa025a3..91437e1830 100644 --- a/src/locks.h +++ b/src/locks.h @@ -36,9 +36,9 @@ enum LockLevel { kUnexpectedSignalLock, kThreadSuspendCountLock, kAbortLock, + kJdwpSerialSocketLock, kAllocSpaceLock, kDefaultMutexLevel, - kJdwpSerialLock, kMarkSweepLargeObjectLock, kPinTableLock, kLoadLibraryLock, -- cgit v1.2.3-59-g8ed1b