diff options
| author | Gavin Andresen <[email protected]> | 2011-11-10 21:12:46 -0500 |
|---|---|---|
| committer | Luke Dashjr <[email protected]> | 2011-11-15 10:11:53 -0500 |
| commit | 2744ea8c1fbc2e1ef6b1824a21fd2a75e2b6dbc4 (patch) | |
| tree | 215ae7f0e925c829d90e777d9aa452dfbc15f57f /src/init.cpp | |
| parent | Resilvering (diff) | |
| download | archived-discoin-2744ea8c1fbc2e1ef6b1824a21fd2a75e2b6dbc4.tar.xz archived-discoin-2744ea8c1fbc2e1ef6b1824a21fd2a75e2b6dbc4.zip | |
Obsolete keypool and make sure database removes log files on shutdown.
Diffstat (limited to 'src/init.cpp')
| -rw-r--r-- | src/init.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/init.cpp b/src/init.cpp index dbc2c4133..4a149b31b 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -34,8 +34,8 @@ void Shutdown(void* parg) { static CCriticalSection cs_Shutdown; static bool fTaken; - bool fFirstThread; - CRITICAL_BLOCK(cs_Shutdown) + bool fFirstThread = false; + TRY_CRITICAL_BLOCK(cs_Shutdown) { fFirstThread = !fTaken; fTaken = true; @@ -45,9 +45,9 @@ void Shutdown(void* parg) { fShutdown = true; nTransactionsUpdated++; - DBFlush(false); + DBFlush(false, false); StopNode(); - DBFlush(true); + DBFlush(true, true); boost::filesystem::remove(GetPidFile()); UnregisterWallet(pwalletMain); delete pwalletMain; @@ -396,6 +396,12 @@ bool AppInit2(int argc, char* argv[]) strErrors += _("Error loading wallet.dat: Wallet corrupted \n"); else if (nLoadWalletRet == DB_TOO_NEW) strErrors += _("Error loading wallet.dat: Wallet requires newer version of Bitcoin \n"); + else if (nLoadWalletRet == DB_NEED_REWRITE) + { + strErrors += _("Wallet needed to be rewritten: restart Bitcoin to complete \n"); + wxMessageBox(strErrors, "Bitcoin", wxOK | wxICON_ERROR); + return false; + } else strErrors += _("Error loading wallet.dat \n"); } |