Merge pull request #574

61ce8d6 wallet_rpc_server: exit async, so we reply to stop_wallet RPC (moneromooo-monero)
9847db6 wallet: do not return error if incoming_transfers finds none (moneromooo-monero)
This commit is contained in:
Riccardo Spagni 2015-12-30 09:40:04 +02:00
commit b6d41cdac1
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD
2 changed files with 11 additions and 6 deletions

View file

@ -57,6 +57,7 @@ namespace tools
//------------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------------
bool wallet_rpc_server::run() bool wallet_rpc_server::run()
{ {
m_stop = false;
m_net_server.add_idle_handler([this](){ m_net_server.add_idle_handler([this](){
try { try {
m_wallet.refresh(); m_wallet.refresh();
@ -65,6 +66,14 @@ namespace tools
} }
return true; return true;
}, 20000); }, 20000);
m_net_server.add_idle_handler([this](){
if (m_stop.load(std::memory_order_relaxed))
{
send_stop_signal();
return false;
}
return true;
}, 500);
//DO NOT START THIS SERVER IN MORE THEN 1 THREADS WITHOUT REFACTORING //DO NOT START THIS SERVER IN MORE THEN 1 THREADS WITHOUT REFACTORING
return epee::http_server_impl_base<wallet_rpc_server, connection_context>::run(1, true); return epee::http_server_impl_base<wallet_rpc_server, connection_context>::run(1, true);
@ -605,11 +614,6 @@ namespace tools
} }
} }
if (!transfers_found)
{
return false;
}
return true; return true;
} }
//------------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------------
@ -653,8 +657,8 @@ namespace tools
try try
{ {
send_stop_signal();
m_wallet.store(); m_wallet.store();
m_stop.store(true, std::memory_order_relaxed);
} }
catch (std::exception& e) catch (std::exception& e)
{ {

View file

@ -102,5 +102,6 @@ namespace tools
wallet2& m_wallet; wallet2& m_wallet;
std::string m_port; std::string m_port;
std::string m_bind_ip; std::string m_bind_ip;
std::atomic<bool> m_stop;
}; };
} }