aboutsummaryrefslogtreecommitdiff
path: root/src/chain.cpp
diff options
context:
space:
mode:
authorMatt Corallo <git@bluematt.me>2017-07-23 13:29:06 -0400
committerMatt Corallo <git@bluematt.me>2017-08-01 16:35:02 -0400
commitefac91e65452dd89a9b891e79bdd191208d2b44d (patch)
treee630961bac6c0763c637faf915935fd0d0274462 /src/chain.cpp
parentf66c59650527022b4f7abd98ff0a1a4e4741bd34 (diff)
Always wait for threadGroup to exit in bitcoind shutdown
This resolves a possible-assert-on-shutdown race introduced in 1f668b646806f94acd851acdbd9939c24e0492d3 when early shutdown occurs. Previously this was not done to avoid any cases where the threadGroup might not exit due to a blocking thread, but at this point the threadGroup isn't used all that much, plus Qt already does this, and its good to keep their init/shutdown consistent. For those curious, the threadGroup is only used in a few places: * Its used to run the CCheckQueues in script validation, but these use the boost mutex/condition variable primitives, so they respect the interrupt pretty trivially. * Its used for the import thread, which should exit rather quickly as mostly it just calls LoadExternalBlockFile, which has an interruption_point right before each block loaded. * Its used in the scheduler thread, which is only used for: * validationinterface has an effectively-dummy reference to it. * wallet compaction, which should not last long * addr/banlist dumping from CConnman, which should also be fast
Diffstat (limited to 'src/chain.cpp')
0 files changed, 0 insertions, 0 deletions