aboutsummaryrefslogtreecommitdiff
path: root/android/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java')
-rw-r--r--android/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/android/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java b/android/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java
index 0ec799cc4..6e2ae47a3 100644
--- a/android/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java
+++ b/android/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java
@@ -41,7 +41,6 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.logging.Level;
-import java.util.logging.Logger;
import javax.annotation.CheckForNull;
/**
@@ -211,7 +210,7 @@ public class CycleDetectingLockFactory {
WARN {
@Override
public void handlePotentialDeadlock(PotentialDeadlockException e) {
- logger.log(Level.SEVERE, "Detected potential deadlock", e);
+ logger.get().log(Level.SEVERE, "Detected potential deadlock", e);
}
},
@@ -447,7 +446,7 @@ public class CycleDetectingLockFactory {
//////// Implementation /////////
- private static final Logger logger = Logger.getLogger(CycleDetectingLockFactory.class.getName());
+ private static final LazyLogger logger = new LazyLogger(CycleDetectingLockFactory.class);
final Policy policy;
@@ -711,7 +710,8 @@ public class CycleDetectingLockFactory {
*/
private void aboutToAcquire(CycleDetectingLock lock) {
if (!lock.isAcquiredByCurrentThread()) {
- ArrayList<LockGraphNode> acquiredLockList = acquiredLocks.get();
+ // requireNonNull accommodates Android's @RecentlyNullable annotation on ThreadLocal.get
+ ArrayList<LockGraphNode> acquiredLockList = requireNonNull(acquiredLocks.get());
LockGraphNode node = lock.getLockGraphNode();
node.checkAcquiredLocks(policy, acquiredLockList);
acquiredLockList.add(node);
@@ -725,7 +725,8 @@ public class CycleDetectingLockFactory {
*/
private static void lockStateChanged(CycleDetectingLock lock) {
if (!lock.isAcquiredByCurrentThread()) {
- ArrayList<LockGraphNode> acquiredLockList = acquiredLocks.get();
+ // requireNonNull accommodates Android's @RecentlyNullable annotation on ThreadLocal.get
+ ArrayList<LockGraphNode> acquiredLockList = requireNonNull(acquiredLocks.get());
LockGraphNode node = lock.getLockGraphNode();
// Iterate in reverse because locks are usually locked/unlocked in a
// LIFO order.