Iterate over a snapshot of transaction listeners.

This commit is contained in:
Greyson Parrelli 2022-03-15 12:57:10 -04:00 committed by Cody Henthorne
parent 3ad7c96a3c
commit 172751cd42

View file

@ -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();