diff --git a/src/init.cpp b/src/init.cpp index 3845cfad..c2259f1d 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1033,6 +1033,9 @@ bool AppInit2(boost::thread_group& threadGroup) if (!CheckDiskSpace()) return false; + if (!strErrors.str().empty()) + return InitError(strErrors.str()); + RandAddSeedPerfmon(); //// debug print @@ -1054,9 +1057,6 @@ bool AppInit2(boost::thread_group& threadGroup) uiInterface.InitMessage(_("Done loading")); - if (!strErrors.str().empty()) - return InitError(strErrors.str()); - // Add wallet transactions that aren't already in a block to mapTransactions pwalletMain->ReacceptWalletTransactions(); diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 25448ea8..a567eafd 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -271,6 +271,9 @@ int main(int argc, char *argv[]) } else { + threadGroup.interrupt_all(); + threadGroup.join_all(); + Shutdown(); return 1; } } catch (std::exception& e) {