mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-01-05 10:29:36 +00:00
import multisig hex locks on daemon due to refresh call
This commit is contained in:
parent
bd1be1041a
commit
8e24ebfc23
2 changed files with 9 additions and 9 deletions
|
@ -841,7 +841,7 @@ public abstract class Trade implements Tradable, Model {
|
||||||
|
|
||||||
public void importMultisigHex() {
|
public void importMultisigHex() {
|
||||||
synchronized (walletLock) {
|
synchronized (walletLock) {
|
||||||
synchronized (HavenoUtils.getWalletFunctionLock()) {
|
synchronized (HavenoUtils.getDaemonLock()) { // TODO: lock on daemon because wallet2's import_multisig calls refresh: https://github.com/monero-project/monero/issues/9312
|
||||||
for (int i = 0; i < TradeProtocol.MAX_ATTEMPTS; i++) {
|
for (int i = 0; i < TradeProtocol.MAX_ATTEMPTS; i++) {
|
||||||
try {
|
try {
|
||||||
doImportMultisigHex();
|
doImportMultisigHex();
|
||||||
|
|
|
@ -383,10 +383,9 @@ public class XmrWalletService {
|
||||||
* Sync the given wallet in a thread pool with other wallets.
|
* Sync the given wallet in a thread pool with other wallets.
|
||||||
*/
|
*/
|
||||||
public MoneroSyncResult syncWallet(MoneroWallet wallet) {
|
public MoneroSyncResult syncWallet(MoneroWallet wallet) {
|
||||||
|
synchronized (HavenoUtils.getDaemonLock()) { // TODO: lock defeats purpose of thread pool
|
||||||
Callable<MoneroSyncResult> task = () -> {
|
Callable<MoneroSyncResult> task = () -> {
|
||||||
synchronized (HavenoUtils.getDaemonLock()) {
|
|
||||||
return wallet.sync();
|
return wallet.sync();
|
||||||
}
|
|
||||||
};
|
};
|
||||||
Future<MoneroSyncResult> future = syncWalletThreadPool.submit(task);
|
Future<MoneroSyncResult> future = syncWalletThreadPool.submit(task);
|
||||||
try {
|
try {
|
||||||
|
@ -395,6 +394,7 @@ public class XmrWalletService {
|
||||||
throw new MoneroError(e.getMessage());
|
throw new MoneroError(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void saveWallet(MoneroWallet wallet) {
|
public void saveWallet(MoneroWallet wallet) {
|
||||||
saveWallet(wallet, false);
|
saveWallet(wallet, false);
|
||||||
|
|
Loading…
Reference in a new issue