Iterate over a snapshot of transaction listeners.

fork-5.53.8
Greyson Parrelli 2022-03-15 12:57:10 -04:00 zatwierdzone przez Cody Henthorne
rodzic 3ad7c96a3c
commit 172751cd42
1 zmienionych plików z 2 dodań i 1 usunięć

Wyświetl plik

@ -13,6 +13,7 @@ import net.zetetic.database.sqlcipher.SQLiteTransactionListener;
import org.signal.core.util.tracing.Tracer;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Map;
@ -201,7 +202,7 @@ public class SQLiteDatabase {
@Override
public void onCommit() {
Set<Runnable> tasks = getPostTransactionTasks();
for (Runnable r : tasks) {
for (Runnable r : new HashSet<>(tasks)) {
r.run();
}
tasks.clear();