From f39fc1386a69d66f6cea7dc3d21c26a137481d4e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 6 Apr 2021 20:53:53 +0200 Subject: [PATCH] synchronized getNewMirrorOnError() for safe writing of numTries `volatile` allows for safe multi-threaded reading, `synchronized` allows for safe multi-threaded writing. --- app/src/main/java/org/fdroid/fdroid/FDroidApp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java index 4c6ab97bd..c35142c1b 100644 --- a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java +++ b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java @@ -267,7 +267,7 @@ public class FDroidApp extends Application implements androidx.work.Configuratio * @see #getTimeout() * @see Repo#getRandomMirror(String) */ - public static String getNewMirrorOnError(@Nullable String urlString, Repo repo2) throws IOException { + public static synchronized String getNewMirrorOnError(@Nullable String urlString, Repo repo2) throws IOException { if (repo2.hasMirrors()) { if (numTries <= 0) { if (timeout == Downloader.DEFAULT_TIMEOUT) {