summaryrefslogtreecommitdiffstats
path: root/vm/Sync.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2011-06-07 16:39:20 -0700
committerElliott Hughes <enh@google.com>2011-06-07 16:39:20 -0700
commit708f143f318bb2167c810f9506102f4ad656545c (patch)
tree97e9b578ea7175f56a335cad1548bbf4ef0d0fbb /vm/Sync.cpp
parenta0f945f21dd38df48946fcea57d798a9692734b8 (diff)
downloadandroid_dalvik-708f143f318bb2167c810f9506102f4ad656545c.tar.gz
android_dalvik-708f143f318bb2167c810f9506102f4ad656545c.tar.bz2
android_dalvik-708f143f318bb2167c810f9506102f4ad656545c.zip
Improve "waiting on"/"waiting to lock" SIGQUIT dump info.
In particular, when we're waiting on a Class, say which class: I(16573) - waiting on <0xf5ed54f8> (java.lang.Class<java.lang.ref.ReferenceQueue>) versus: I(16573) - waiting on <0xf5feda38> (a java.util.LinkedList) Bug: http://code.google.com/p/android/issues/detail?id=17349 Change-Id: I844d02c008b1499adb02995ff3da25ba8cad0e0a
Diffstat (limited to 'vm/Sync.cpp')
-rw-r--r--vm/Sync.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/vm/Sync.cpp b/vm/Sync.cpp
index 8257f80d4..09b12e423 100644
--- a/vm/Sync.cpp
+++ b/vm/Sync.cpp
@@ -271,7 +271,7 @@ static void logContentionEvent(Thread *self, u4 waitMs, u4 samplePercent,
u4 relativePc;
char eventBuffer[174];
const char *fileName;
- char procName[33], *selfName;
+ char procName[33];
char *cp;
size_t len;
int fd;
@@ -299,9 +299,8 @@ static void logContentionEvent(Thread *self, u4 waitMs, u4 samplePercent,
cp = logWriteInt(cp, isSensitive);
/* Emit self thread name string, <= 37 bytes. */
- selfName = dvmGetThreadName(self);
- cp = logWriteString(cp, selfName, strlen(selfName));
- free(selfName);
+ std::string selfName = dvmGetThreadName(self);
+ cp = logWriteString(cp, selfName.c_str(), selfName.size());
/* Emit the wait time, 5 bytes. */
cp = logWriteInt(cp, waitMs);