diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/lang/management/ThreadInfo.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/java/lang/management/ThreadInfo.java b/java/lang/management/ThreadInfo.java index 4bf35a4cb..f3131715b 100644 --- a/java/lang/management/ThreadInfo.java +++ b/java/lang/management/ThreadInfo.java @@ -200,10 +200,12 @@ public class ThreadInfo long waitedTime, boolean isInNative, boolean isSuspended, StackTraceElement[] trace) { - this(thread.getId(), thread.getName(), thread.getState(), blockedCount, - blockedTime, lock.getClass().getName() + "@" + - Integer.toHexString(System.identityHashCode(lock)), lockOwner.getId(), - lockOwner.getName(), waitedCount, waitedTime, isInNative, isSuspended, + this(thread.getId(), thread.getName(), thread.getState(), blockedCount, blockedTime, + lock == null ? null : lock.getClass().getName() + "@" + + Integer.toHexString(System.identityHashCode(lock)), + lockOwner == null ? -1 : lockOwner.getId(), + lockOwner == null ? null : lockOwner.getName(), + waitedCount, waitedTime, isInNative, isSuspended, trace); } @@ -484,7 +486,7 @@ public class ThreadInfo */ public String getLockName() { - if (threadState.equals("BLOCKED")) + if (!threadState.equals("BLOCKED")) return null; return lockName; } @@ -502,7 +504,7 @@ public class ThreadInfo */ public long getLockOwnerId() { - if (threadState.equals("BLOCKED")) + if (!threadState.equals("BLOCKED")) return -1; return lockOwnerId; } @@ -520,7 +522,7 @@ public class ThreadInfo */ public String getLockOwnerName() { - if (threadState.equals("BLOCKED")) + if (!threadState.equals("BLOCKED")) return null; return lockOwnerName; } |