add missing Boost Thread join_all() call during shutdown #3059

pull Diapolo wants to merge 1 commits into bitcoin:master from Diapolo:Shutdown changing 1 files +13 −4
  1. Diapolo commented at 12:20 PM on October 6, 2013: none
    • 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
  2. gavinandresen commented at 2:50 AM on October 7, 2013: contributor

    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.

  3. Diapolo commented at 6:08 AM on October 7, 2013: none

    Gavin, I didn't test them, as this patch is based on an observation (missing join_all()) and your comment in my issue-ticket. I'm fine with removing it for if (!fRet) and just placing a comment there instead.

  4. Diapolo commented at 6:13 AM on October 7, 2013: none

    Updated based on Gavins comments.

  5. gavinandresen commented at 6:39 AM on October 7, 2013: contributor

    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.

  6. add missing Boost Thread join_all() call during shutdown
    - 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
    c55d1600da
  7. Diapolo commented at 6:53 AM on October 7, 2013: none

    Updated comment, to address the nit :).

  8. BitcoinPullTester commented at 12:54 PM on October 7, 2013: none

    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/c55d1600da35e3882f149b00f972c0ef9cb41dfa for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.

  9. gavinandresen referenced this in commit aa56d317a5 on Oct 7, 2013
  10. gavinandresen merged this on Oct 7, 2013
  11. gavinandresen closed this on Oct 7, 2013

  12. Diapolo deleted the branch on Oct 8, 2013
  13. Bushstar referenced this in commit 4588f67f84 on Apr 8, 2020
  14. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-21 18:16 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me