diff options
author | Elliott Hughes <enh@google.com> | 2011-06-07 16:39:20 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2011-06-07 16:39:20 -0700 |
commit | 708f143f318bb2167c810f9506102f4ad656545c (patch) | |
tree | 97e9b578ea7175f56a335cad1548bbf4ef0d0fbb /vm/Sync.cpp | |
parent | a0f945f21dd38df48946fcea57d798a9692734b8 (diff) | |
download | android_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.cpp | 7 |
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); |