multiprocess: Delay wallet client construction #23005

pull ryanofsky wants to merge 1 commits into bitcoin:master from ryanofsky:pr/ipc-client changing 8 files +23 −6
  1. ryanofsky commented at 2:50 am on September 17, 2021: member

    Delay wallet client construction until after logging, thread and other init for two reasons:

    • More responsive multiprocess GUI startup. When bitcoin-gui is started this moves the call from bitcoin-gui to bitcoin-node that spawns bitcoin-wallet off of the GUI event thread and onto the background GUI init executor thread.

    • Avoids feature_logging.py test failures with bitcoin-node by making bitcoin-wallet logging start after bitcoin-node logging starts, because the tests are not written to handle the bitcoin-wallet logging init code running first.

    This partially reverts commit b266b3e0bf29d0f3d5deaeec62d57c5025b35525, moving wallet client creation back to the place it was located before.


    This PR is part of the process separation project.

  2. multiprocess: Delay wallet client construction
    Delay wallet client construction until after logging, thread and other
    init for two reasons:
    
    - More responsive multiprocess GUI startup. When bitcoin-gui is started
      this moves the call from bitcoin-gui to bitcoin-node that spawns
      bitcoin-wallet off of the GUI event thread and onto the background GUI
      init executor thread.
    
    - Avoids feature_logging.py test failures with bitcoin-node by making
      bitcoin-wallet logging start after bitcoin-node logging starts,
      because the tests are not written to handle the bitcoin-wallet logging
      init code running first.
    
    This partially reverts commit b266b3e0bf29d0f3d5deaeec62d57c5025b35525,
    moving wallet client creation back to the place it was located before.
    ad085f9ba1
  3. fanquake added the label interfaces on Sep 17, 2021
  4. fanquake added this to the "In progress" column in a project

  5. ryanofsky force-pushed on Sep 17, 2021
  6. ryanofsky commented at 4:21 am on September 17, 2021: member
    Updated ca0704cced9a7df7b7540d8cddeb7745f5858449 -> ad085f9ba15c131fc5cc77086a620f2e366aac7c (pr/ipc-client.1 -> pr/ipc-client.2, compare) to fix clang preprocessor warning https://cirrus-ci.com/task/6303923532201984
  7. DrahtBot commented at 2:21 am on September 18, 2021: member

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Conflicts

    No conflicts as of last run.

  8. hebasto approved
  9. hebasto commented at 5:20 pm on October 23, 2021: member
    ACK ad085f9ba15c131fc5cc77086a620f2e366aac7c, I have reviewed the code and it looks OK. Also slightly tested, including the GUI: can observe wallet init messages on the splash screen, as expected.
  10. laanwj commented at 5:04 pm on November 15, 2021: member
    code review ACK ad085f9ba15c131fc5cc77086a620f2e366aac7c
  11. laanwj merged this on Nov 15, 2021
  12. laanwj closed this on Nov 15, 2021

  13. sidhujag referenced this in commit a57dad4f25 on Nov 16, 2021
  14. in src/node/ui_interface.h:86 in ad085f9ba1
    81@@ -82,6 +82,9 @@ class CClientUIInterface
    82     /** Progress message during initialization. */
    83     ADD_SIGNALS_DECL_WRAPPER(InitMessage, void, const std::string& message);
    84 
    85+    /** Wallet client created. */
    86+    ADD_SIGNALS_DECL_WRAPPER(InitWallet, void, );
    


    MarcoFalke commented at 8:35 am on November 16, 2021:
    any reason for the trailing comma?

    ryanofsky commented at 2:19 am on November 17, 2021:

    any reason for the trailing comma?

    This is to fix the clang warning ./node/ui_interface.h:86:46: error: must specify at least one argument for '...' parameter of variadic macro [-Werror,-Wgnu-zero-variadic-macro-arguments] ADD_SIGNALS_DECL_WRAPPER(InitWallet, void); https://cirrus-ci.com/task/6303923532201984

  15. ryanofsky moved this from the "In progress" to the "Done" column in a project

  16. DrahtBot locked this on Nov 17, 2022

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: 2024-12-03 15:12 UTC

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