add missing Boost Thread join_all() call during shutdown#3059
add missing Boost Thread join_all() call during shutdown#3059gavinandresen merged 1 commit intobitcoin:masterfrom Diapolo:Shutdown
Conversation
|
How did you test the if (!fRet) case (that is, the case of an error during the startup process)? I tested an alternative version of this patch that just does a join_all in the clean shutdown case by starting up / shutting down 100 times, so ACK on that part. But I'm not willing to spend the time testing all of the startup-failure cases to make sure they don't result in a hang due to some thread-blocking-waiting-for-another-thread-during-startup case. |
|
Gavin, I didn't test them, as this patch is based on an observation (missing |
|
Updated based on Gavins comments. |
|
Nit: it's not true we "can't" test all of the startup failure modes, I actually DID test them all (by simulating all the failure cases with hacked versions of the code) when I did the thread work originally. Absolutely clean shutdown when there is an error starting up is just too low a priority to justify taking all that time. |
- fixes #3037 by adding missing join_all() call and brings bitcoind shutdown code in line with Bitcoin-Qt shutdown code - added a comment for the if (!fRet) case
|
Updated comment, to address the nit :). |
|
Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/c55d1600da35e3882f149b00f972c0ef9cb41dfa for binaries and test log. |
add missing Boost Thread join_all() call during shutdown
Merge master 0.14.0.3 back into develop
shutdown code in line with Bitcoin-Qt shutdown code