init: Split up AppInit2 into multiple phases

This allows doing some of the steps before e.g. daemonization and some
fater.
This commit is contained in:
Wladimir J. van der Laan
2016-10-25 11:34:27 +02:00
parent 67728a389c
commit 0cc8b6bc44
4 changed files with 95 additions and 21 deletions

View File

@@ -267,7 +267,22 @@ void BitcoinCore::initialize()
try
{
qDebug() << __func__ << ": Running AppInit2 in thread";
int rv = AppInit2(threadGroup, scheduler);
if (!AppInitBasicSetup())
{
Q_EMIT initializeResult(false);
return;
}
if (!AppInitParameterInteraction())
{
Q_EMIT initializeResult(false);
return;
}
if (!AppInitSanityChecks())
{
Q_EMIT initializeResult(false);
return;
}
int rv = AppInitMain(threadGroup, scheduler);
Q_EMIT initializeResult(rv);
} catch (const std::exception& e) {
handleRunawayException(&e);