aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2011-11-20 10:39:01 -0500
committerGavin Andresen <gavinandresen@gmail.com>2011-11-20 10:39:01 -0500
commitb2d3b2d65dedf3e00431e7f178a4315eb4baf47a (patch)
tree45ea76c8b6d29ffc6e3feb3832607b3f2fcafc6f
parent1c15f88653b0f60fe5e021192cbb81c4f193159c (diff)
Never remove database files on shutdown, it caused unreadable wallets on some testers' machines.
-rw-r--r--src/db.cpp23
-rw-r--r--src/db.h2
-rw-r--r--src/wallet.cpp4
3 files changed, 1 insertions, 28 deletions
diff --git a/src/db.cpp b/src/db.cpp
index e0f4a01756..05fd67c501 100644
--- a/src/db.cpp
+++ b/src/db.cpp
@@ -28,11 +28,6 @@ DbEnv dbenv(0);
static map<string, int> mapFileUseCount;
static map<string, Db*> mapDb;
-static bool fRemoveLogFiles = false;
-void RemoveLogFilesOnShutdown(bool fIn)
-{
- fRemoveLogFiles = fIn;
-}
static void EnvShutdown()
{
if (!fDbEnvInit)
@@ -48,24 +43,6 @@ static void EnvShutdown()
printf("EnvShutdown exception: %s (%d)\n", e.what(), e.get_errno());
}
DbEnv(0).remove(GetDataDir().c_str(), 0);
-
- if (fRemoveLogFiles)
- {
- filesystem::path datadir(GetDataDir());
- filesystem::directory_iterator it(datadir / "database");
- while (it != filesystem::directory_iterator())
- {
- const filesystem::path& p = it->path();
-#if BOOST_FILESYSTEM_VERSION >= 3
- std::string f = p.filename().generic_string();
-#else
- std::string f = p.filename();
-#endif
- if (f.find("log.") == 0)
- filesystem::remove(p);
- ++it;
- }
- }
}
class CDBInit
diff --git a/src/db.h b/src/db.h
index 425dc2e57b..15bfb29c8e 100644
--- a/src/db.h
+++ b/src/db.h
@@ -28,8 +28,6 @@ class CBlockLocator;
extern unsigned int nWalletDBUpdated;
extern DbEnv dbenv;
-
-extern void RemoveLogFilesOnShutdown(bool fRemoveLogFiles);
extern void DBFlush(bool fShutdown);
void ThreadFlushWalletDB(void* parg);
bool BackupWallet(const CWallet& wallet, const std::string& strDest);
diff --git a/src/wallet.cpp b/src/wallet.cpp
index 87882a3b96..af80cc16d5 100644
--- a/src/wallet.cpp
+++ b/src/wallet.cpp
@@ -193,8 +193,7 @@ bool CWallet::EncryptWallet(const string& strWalletPassphrase)
// Need to completely rewrite the wallet file; if we don't, bdb might keep
// bits of the unencrypted private key in slack space in the database file.
- if (CDB::Rewrite(strWalletFile))
- RemoveLogFilesOnShutdown(true);
+ CDB::Rewrite(strWalletFile);
}
return true;
@@ -1154,7 +1153,6 @@ int CWallet::LoadWallet(bool& fFirstRunRet)
{
if (CDB::Rewrite(strWalletFile, "\x04pool"))
{
- RemoveLogFilesOnShutdown(true);
setKeyPool.clear();
// Note: can't top-up keypool here, because wallet is locked.
// User will be prompted to unlock wallet the next operation