wallet: cancellable refresh

^C while in manual refresh will cancel the refresh, since that's
often an annoying thing to have to wait for. Also, a manual refresh
command will interrupt any running background refresh and take
over, rather than wait for the background refresh to be done, and
look to be hanging.
This commit is contained in:
moneromooo-monero 2015-11-29 13:02:01 +00:00
parent 8289975e22
commit d68a63e404
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
5 changed files with 58 additions and 14 deletions

View file

@ -680,6 +680,7 @@ void wallet2::refresh(uint64_t start_height, uint64_t & blocks_fetched, bool& re
get_short_chain_history(short_chain_history);
pull_blocks(start_height, blocks_start_height, short_chain_history, blocks);
m_run.store(true, std::memory_order_relaxed);
while(m_run.load(std::memory_order_relaxed))
{
try