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/txdb.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/txdb.cpp')
| -rw-r--r-- | src/txdb.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/txdb.cpp b/src/txdb.cpp index ae7aceb7f..5b0527c76 100644 --- a/src/txdb.cpp +++ b/src/txdb.cpp @@ -115,12 +115,13 @@ bool CCoinsViewDB::GetStats(CCoinsStats &stats) { pcursor->SeekToFirst(); while (pcursor->Valid()) { + boost::this_thread::interruption_point(); try { leveldb::Slice slKey = pcursor->key(); CDataStream ssKey(slKey.data(), slKey.data()+slKey.size(), SER_DISK, CLIENT_VERSION); char chType; ssKey >> chType; - if (chType == 'c' && !fRequestShutdown) { + if (chType == 'c') { leveldb::Slice slValue = pcursor->value(); CDataStream ssValue(slValue.data(), slValue.data()+slValue.size(), SER_DISK, CLIENT_VERSION); CCoins coins; @@ -178,12 +179,13 @@ bool CBlockTreeDB::LoadBlockIndexGuts() // Load mapBlockIndex while (pcursor->Valid()) { + boost::this_thread::interruption_point(); try { leveldb::Slice slKey = pcursor->key(); CDataStream ssKey(slKey.data(), slKey.data()+slKey.size(), SER_DISK, CLIENT_VERSION); char chType; ssKey >> chType; - if (chType == 'b' && !fRequestShutdown) { + if (chType == 'b') { leveldb::Slice slValue = pcursor->value(); CDataStream ssValue(slValue.data(), slValue.data()+slValue.size(), SER_DISK, CLIENT_VERSION); CDiskBlockIndex diskindex; |