From 7f14f7e49170819e8e3ae4ff9c4303168bac0cca Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Fri, 13 Mar 2015 17:59:24 -0700 Subject: [PATCH] On Android, use non-cycle detecting locks with fairness activated (experimental) --- core/src/main/java/org/bitcoinj/utils/Threading.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/bitcoinj/utils/Threading.java b/core/src/main/java/org/bitcoinj/utils/Threading.java index 733b2066..b526468c 100644 --- a/core/src/main/java/org/bitcoinj/utils/Threading.java +++ b/core/src/main/java/org/bitcoinj/utils/Threading.java @@ -20,6 +20,7 @@ import com.google.common.util.concurrent.CycleDetectingLockFactory; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.Uninterruptibles; +import org.bitcoinj.core.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -152,7 +153,10 @@ public class Threading { public static CycleDetectingLockFactory factory; public static ReentrantLock lock(String name) { - return factory.newReentrantLock(name); + if (Utils.isAndroidRuntime()) + return new ReentrantLock(true); + else + return factory.newReentrantLock(name); } public static void warnOnLockCycles() {