Skip to content

Commit 455e985

Browse files
[JNI]: Fix Race condition
1 parent 0c1ff27 commit 455e985

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

jni/java/wallet/core/java/GenericPhantomReference.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
import java.lang.ref.ReferenceQueue;
55
import java.util.Set;
66
import java.util.HashSet;
7+
import java.util.Collections;
78

89
public class GenericPhantomReference extends PhantomReference<Object> {
910
private final long nativeHandle;
1011
private final OnDeleteCallback onDeleteCallback;
1112

12-
private static final Set<GenericPhantomReference> references = new HashSet<>();
13+
private static final Set<GenericPhantomReference> references = Collections.synchronizedSet(new HashSet<>());
1314
private static final ReferenceQueue<Object> queue = new ReferenceQueue<>();
1415

1516
static {

kotlin/wallet-core-kotlin/src/commonAndroidJvmMain/kotlin/com/trustwallet/core/GenericPhantomReference.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.trustwallet.core
22

33
import java.lang.ref.PhantomReference
44
import java.lang.ref.ReferenceQueue
5+
import java.util.Collections
56

67
internal class GenericPhantomReference private constructor(
78
referent: Any,
@@ -10,7 +11,7 @@ internal class GenericPhantomReference private constructor(
1011
) : PhantomReference<Any>(referent, queue) {
1112

1213
companion object {
13-
private val references: MutableSet<GenericPhantomReference> = HashSet()
14+
private val references: MutableSet<GenericPhantomReference> = Collections.synchronizedSet(HashSet())
1415
private val queue: ReferenceQueue<Any> = ReferenceQueue()
1516

1617
init {

tools/install-rust-dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ cargo install cbindgen --locked
2727

2828
if [[ "$1" == "dev" ]]; then
2929
rustup component add llvm-tools-preview clippy rustfmt
30-
cargo install cargo-llvm-cov --locked
30+
cargo install --version 0.6.14 cargo-llvm-cov --locked
3131
fi

0 commit comments

Comments
 (0)