diff options
| author | Gavin Andresen <[email protected]> | 2013-04-03 18:25:00 -0700 |
|---|---|---|
| committer | Gavin Andresen <[email protected]> | 2013-04-03 18:25:00 -0700 |
| commit | a0a437c86ae404152de883ac6a1463e6641eda1c (patch) | |
| tree | e99240bd446613584b20c7b9762af5711bf3f7ff /src/db.cpp | |
| parent | Merge pull request #2453 from sipa/txstats (diff) | |
| parent | Have Qt poll for shutdown requested, the QT way. (diff) | |
| download | discoin-a0a437c86ae404152de883ac6a1463e6641eda1c.tar.xz discoin-a0a437c86ae404152de883ac6a1463e6641eda1c.zip | |
Merge pull request #2357 from gavinandresen/shutdowncleanup
Thread / shutdown cleanup
Diffstat (limited to 'src/db.cpp')
| -rw-r--r-- | src/db.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/db.cpp b/src/db.cpp index e51d5d2cb..35d6cca89 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -62,8 +62,7 @@ bool CDBEnv::Open(const boost::filesystem::path& path) if (fDbEnvInit) return true; - if (fShutdown) - return false; + boost::this_thread::interruption_point(); strPath = path.string(); filesystem::path pathLogDir = path / "database"; @@ -108,8 +107,7 @@ void CDBEnv::MakeMock() if (fDbEnvInit) throw runtime_error("CDBEnv::MakeMock(): already initialized"); - if (fShutdown) - throw runtime_error("CDBEnv::MakeMock(): during shutdown"); + boost::this_thread::interruption_point(); printf("CDBEnv::MakeMock()\n"); @@ -327,7 +325,7 @@ bool CDBEnv::RemoveDb(const string& strFile) bool CDB::Rewrite(const string& strFile, const char* pszSkip) { - while (!fShutdown) + while (true) { { LOCK(bitdb.cs_db); @@ -413,7 +411,7 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip) return fSuccess; } } - Sleep(100); + MilliSleep(100); } return false; } |