multiprocess: Add new bitcoin-gui, bitcoin-qt, bitcoin-wallet init implementations #23006

pull ryanofsky wants to merge 1 commits into bitcoin:master from ryanofsky:pr/ipc-init changing 12 files +121 −13
  1. ryanofsky commented at 3:01 am on September 17, 2021: member

    Add separate interfaces::Init subclasses for bitcoin-wallet, bitcoin-gui, and bitcoin-qt binaries instead of sharing bitcoind and bitcoin-node init subclasses in different binaries. After this, the new init subclasses can be customized in #10102, so node and wallet code is dropped from the bitcoin-gui binary and wallet code is dropped from into the bitcoin-node binary.


    This PR is part of the process separation project.

  2. multiprocess: Add new bitcoin-gui, bitcoin-qt, bitcoin-wallet init implementations
    Add separate init implementations instead of sharing existing bitcoind
    and bitcoin-node ones, so they can start to be differentiated in
    upcoming commits with node and wallet code no longer linked into the
    bitcoin-gui binary and wallet code no longer linked into the
    bitcoin-node binary.
    d5f985e51f
  3. ryanofsky added this to the "In progress" column in a project

  4. DrahtBot added the label Build system on Sep 17, 2021
  5. DrahtBot added the label GUI on Sep 17, 2021
  6. DrahtBot added the label Utils/log/libs on Sep 17, 2021
  7. DrahtBot commented at 2:15 am on September 18, 2021: member

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #23346 (util, refactor: Improve headers for bitcoin-wallet tool by hebasto)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  8. hebasto commented at 5:22 pm on October 23, 2021: member
    Concept ACK.
  9. in src/init/bitcoin-qt.cpp:38 in 2d3d624be4 outdated
    33+};
    34+} // namespace
    35+} // namespace init
    36+
    37+namespace interfaces {
    38+std::unique_ptr<Init> MakeGuiInit(int argc, char* argv[]) { return std::make_unique<init::BitcoinQtInit>(); }
    


    hebasto commented at 5:51 pm on October 24, 2021:
    nit: style could follow src/init/bitcoin-gui.cpp, i.e., make MakeGuiInit multi-line?

    ryanofsky commented at 4:43 pm on October 25, 2021:

    re: #23006 (review)

    nit: style could follow src/init/bitcoin-gui.cpp, i.e., make MakeGuiInit multi-line?

    Done, but formatting came from clang-format with ColumnLimit

  10. in src/init/bitcoin-wallet.cpp:8 in 2d3d624be4 outdated
    0@@ -0,0 +1,9 @@
    1+// Copyright (c) 2021 The Bitcoin Core developers
    2+// Distributed under the MIT software license, see the accompanying
    3+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
    4+
    5+#include <interfaces/init.h>
    6+
    7+namespace interfaces {
    8+std::unique_ptr<Init> MakeWalletInit(int argc, char* argv[], int& exit_status) { return std::make_unique<Init>(); }
    


    hebasto commented at 5:52 pm on October 24, 2021:
    nit: style could follow src/init/bitcoin-gui.cpp, i.e., make MakeWalletInit multi-line?

    ryanofsky commented at 4:42 pm on October 25, 2021:

    re: #23006 (review)

    nit: style could follow src/init/bitcoin-gui.cpp, i.e., make MakeWalletInit multi-line?

    Done, but formatting came from clang-format with ColumnLimit

  11. hebasto approved
  12. hebasto commented at 5:57 pm on October 24, 2021: member
    ACK 2d3d624be4adb789673c25517d2e7b417f563a29, I have reviewed the code and it looks OK. Compiled on Linux with and without multiprocess support. Also compiled on Windows with msbuild.
  13. lsilva01 approved
  14. lsilva01 commented at 10:05 pm on October 24, 2021: contributor
    ACK 2d3d624 Compiled and run successfully on Ubuntu 20.04.
  15. ryanofsky force-pushed on Oct 25, 2021
  16. ryanofsky commented at 5:00 pm on October 25, 2021: member

    Thanks for reviews!

    Updated 2d3d624be4adb789673c25517d2e7b417f563a29 -> d5f985e51f2863fda0c0d632e836eba42a5c3e15 (pr/ipc-init.1 -> pr/ipc-init.2, compare) with suggestions

  17. lsilva01 approved
  18. lsilva01 commented at 5:10 pm on October 25, 2021: contributor
    reACK d5f985e
  19. hebasto approved
  20. hebasto commented at 6:44 pm on October 25, 2021: member
    re-ACK d5f985e51f2863fda0c0d632e836eba42a5c3e15, only suggested changes since my previous review.
  21. MarcoFalke merged this on Oct 26, 2021
  22. MarcoFalke closed this on Oct 26, 2021

  23. sidhujag referenced this in commit 7453e1f782 on Oct 26, 2021
  24. Knorre commented at 5:12 pm on October 27, 2021: none
    qk
  25. ryanofsky moved this from the "In progress" to the "Done" column in a project

  26. DrahtBot locked this on Oct 30, 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-25 06:12 UTC

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