mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-06-06 22:29:10 -04:00
add lock to submit tx to pool for verification and sync on shut down
This commit is contained in:
parent
5720ee74b0
commit
580e5b672c
1 changed files with 3 additions and 5 deletions
|
@ -68,7 +68,6 @@ import java.util.stream.Stream;
|
||||||
import javafx.beans.property.LongProperty;
|
import javafx.beans.property.LongProperty;
|
||||||
import javafx.beans.property.ReadOnlyDoubleProperty;
|
import javafx.beans.property.ReadOnlyDoubleProperty;
|
||||||
import javafx.beans.value.ChangeListener;
|
import javafx.beans.value.ChangeListener;
|
||||||
import lombok.Getter;
|
|
||||||
import monero.common.MoneroError;
|
import monero.common.MoneroError;
|
||||||
import monero.common.MoneroRpcConnection;
|
import monero.common.MoneroRpcConnection;
|
||||||
import monero.common.MoneroRpcError;
|
import monero.common.MoneroRpcError;
|
||||||
|
@ -145,8 +144,7 @@ public class XmrWalletService extends XmrWalletBase {
|
||||||
private TradeManager tradeManager;
|
private TradeManager tradeManager;
|
||||||
private ExecutorService syncWalletThreadPool = Executors.newFixedThreadPool(10); // TODO: adjust based on connection type
|
private ExecutorService syncWalletThreadPool = Executors.newFixedThreadPool(10); // TODO: adjust based on connection type
|
||||||
|
|
||||||
@Getter
|
private final Object lock = new Object();
|
||||||
public final Object lock = new Object();
|
|
||||||
private TaskLooper pollLooper;
|
private TaskLooper pollLooper;
|
||||||
private boolean pollInProgress;
|
private boolean pollInProgress;
|
||||||
private Long pollPeriodMs;
|
private Long pollPeriodMs;
|
||||||
|
@ -740,7 +738,7 @@ public class XmrWalletService extends XmrWalletBase {
|
||||||
MoneroDaemonRpc daemon = getDaemon();
|
MoneroDaemonRpc daemon = getDaemon();
|
||||||
MoneroWallet wallet = getWallet();
|
MoneroWallet wallet = getWallet();
|
||||||
MoneroTx tx = null;
|
MoneroTx tx = null;
|
||||||
synchronized (daemon) {
|
synchronized (lock) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// verify tx not submitted to pool
|
// verify tx not submitted to pool
|
||||||
|
@ -926,7 +924,7 @@ public class XmrWalletService extends XmrWalletBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
// shut down threads
|
// shut down threads
|
||||||
synchronized (getLock()) {
|
synchronized (lock) {
|
||||||
List<Runnable> shutDownThreads = new ArrayList<>();
|
List<Runnable> shutDownThreads = new ArrayList<>();
|
||||||
shutDownThreads.add(() -> ThreadUtils.shutDown(THREAD_ID));
|
shutDownThreads.add(() -> ThreadUtils.shutDown(THREAD_ID));
|
||||||
ThreadUtils.awaitTasks(shutDownThreads);
|
ThreadUtils.awaitTasks(shutDownThreads);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue