Merge pull request #803
c33ffc8
simplewallet: save fixes in RPC mode (moneromooo-monero)
This commit is contained in:
commit
1c66fe04bc
1 changed files with 13 additions and 2 deletions
|
@ -3030,12 +3030,25 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
tools::wallet2 wal(testnet,restricted);
|
tools::wallet2 wal(testnet,restricted);
|
||||||
|
bool quit = false;
|
||||||
|
tools::signal_handler::install([&wal, &quit](int) {
|
||||||
|
quit = true;
|
||||||
|
wal.stop();
|
||||||
|
});
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LOG_PRINT_L0(sw::tr("Loading wallet..."));
|
LOG_PRINT_L0(sw::tr("Loading wallet..."));
|
||||||
wal.load(wallet_file, password);
|
wal.load(wallet_file, password);
|
||||||
wal.init(daemon_address);
|
wal.init(daemon_address);
|
||||||
wal.refresh();
|
wal.refresh();
|
||||||
|
// if we ^C during potentially length load/refresh, there's no server loop yet
|
||||||
|
if (quit)
|
||||||
|
{
|
||||||
|
LOG_PRINT_L0(sw::tr("Storing wallet..."));
|
||||||
|
wal.store();
|
||||||
|
LOG_PRINT_GREEN(sw::tr("Stored ok"), LOG_LEVEL_0);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
LOG_PRINT_GREEN(sw::tr("Loaded ok"), LOG_LEVEL_0);
|
LOG_PRINT_GREEN(sw::tr("Loaded ok"), LOG_LEVEL_0);
|
||||||
}
|
}
|
||||||
catch (const std::exception& e)
|
catch (const std::exception& e)
|
||||||
|
@ -3046,10 +3059,8 @@ int main(int argc, char* argv[])
|
||||||
tools::wallet_rpc_server wrpc(wal);
|
tools::wallet_rpc_server wrpc(wal);
|
||||||
bool r = wrpc.init(vm);
|
bool r = wrpc.init(vm);
|
||||||
CHECK_AND_ASSERT_MES(r, 1, sw::tr("Failed to initialize wallet rpc server"));
|
CHECK_AND_ASSERT_MES(r, 1, sw::tr("Failed to initialize wallet rpc server"));
|
||||||
|
|
||||||
tools::signal_handler::install([&wrpc, &wal](int) {
|
tools::signal_handler::install([&wrpc, &wal](int) {
|
||||||
wrpc.send_stop_signal();
|
wrpc.send_stop_signal();
|
||||||
wal.store();
|
|
||||||
});
|
});
|
||||||
LOG_PRINT_L0(sw::tr("Starting wallet rpc server"));
|
LOG_PRINT_L0(sw::tr("Starting wallet rpc server"));
|
||||||
wrpc.run();
|
wrpc.run();
|
||||||
|
|
Loading…
Reference in a new issue