From dc2e19e845ae4d3eab490c5a5d940a4f1847f6f5 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner <hans@eds.org> Date: Fri, 22 Apr 2022 22:22:09 +0200 Subject: [PATCH] use "volatile" for key variables that are accessed across threads Based on this discussion: https://github.com/guardianproject/tor-android/issues/67#issuecomment-1043258065#67 --- .../src/main/java/org/torproject/jni/TorService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tor-android-binary/src/main/java/org/torproject/jni/TorService.java b/tor-android-binary/src/main/java/org/torproject/jni/TorService.java index 6269a4ab..c1f4c770 100644 --- a/tor-android-binary/src/main/java/org/torproject/jni/TorService.java +++ b/tor-android-binary/src/main/java/org/torproject/jni/TorService.java @@ -192,7 +192,7 @@ public class TorService extends Service { private long torConfiguration = -1; private int torControlFd = -1; - private TorControlConnection torControlConnection; + private volatile TorControlConnection torControlConnection; /** * This lock must be acquired before calling createTorConfiguration() and @@ -310,7 +310,7 @@ public class TorService extends Service { } }; - private CountDownLatch controlPortThreadStarted; + private volatile CountDownLatch controlPortThreadStarted; private int getPortFromGetInfo(String key) { final String value = getInfo(key); -- GitLab