Design Documentation Update#229
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. LLM Linter (✨ experimental)Possible typos and grammar issues:
drahtbot_id_5_m |
7756fdc to
459a730
Compare
|
@theuni you may be interested in this, it describes things like how callbacks can be implemented |
|
This is a helpful update. As someone getting familiar with this, the new details really helped clarify the design. |
|
Concept ACK on expanding documentation, and thanks for adding these graphics. Reviewer hint, switch to the rich diff:
@ryanofsky is probably best qualified to check correctness. |
ryanofsky
left a comment
There was a problem hiding this comment.
Code review ACK 459a730. These updates are very good, and I think information about callbacks and context parameters should be especially helpful. I left a number of suggestions below, which can be addressed here or in a followup. You can let me know which you prefer.
|
Thanks for the review @ryanofsky . I made the suggested changes. |
…8f7d 1fc65008f7d Merge bitcoin-core/libmultiprocess#237: Made SpawnProcess() behavior safe post fork() 5205a87cd90 test: check SpawnProcess post-fork safety 69652f0edfa Precompute argv before fork in SpawnProcess 30a8681de62 SpawnProcess: avoid fd leak on close failure d0fc1081d09 Merge bitcoin-core/libmultiprocess#196: ci: Add NetBSD job 7b171f45bfc Merge bitcoin-core/libmultiprocess#234: doc: Fix typos and grammar in documentation and comments 861da39cae9 ci: Add NetBSD job 458745e3940 Fix various typos, spelling mistakes, and grammatical errors in design.md and source code comments. 585decc8561 Merge bitcoin-core/libmultiprocess#236: ci: Install binary package `capnproto` on OpenBSD instead of building it 14e926a3ff3 refactor: extract MakeArgv helper 1ee909393f4 ci: Install binary package `capnproto` on OpenBSD instead of building it 470fc518d4b Merge bitcoin-core/libmultiprocess#230: cmake: add ONLY_CAPNP target_capnp_sources option 2d8886f26c4 Merge bitcoin-core/libmultiprocess#228: Add versions.md and version.h files describing version branches and tags c1838be565d Merge bitcoin-core/libmultiprocess#225: Improve and document act support a173f1704ce Merge bitcoin-core/libmultiprocess#223: ci: Replace nix-shell with equivalent nix develop command 625eaca42fb Merge bitcoin-core/libmultiprocess#229: Design Documentation Update cc234be73a6 Design doc update 81c652687b8 cmake: add ONLY_CAPNP target_capnp_sources option 6e01d2d766e Add versions.md and version.h files describing version branches and tags 4e3f8fa0d2c doc: add instructions for using act 81712ff6bbf ci: disable KVM and sandbox inside act containers 18a2237a8ef ci: Replace nix-shell with equivalent nix develop command git-subtree-dir: src/ipc/libmultiprocess git-subtree-split: 1fc65008f7d64161e84c08cbd93109a23dd6a1e9
…misc.py timeout 7562e2a Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d (Ryan Ofsky) Pull request description: Includes: - bitcoin-core/libmultiprocess#229 - bitcoin-core/libmultiprocess#223 - bitcoin-core/libmultiprocess#225 - bitcoin-core/libmultiprocess#228 - bitcoin-core/libmultiprocess#230 - bitcoin-core/libmultiprocess#236 - bitcoin-core/libmultiprocess#234 - bitcoin-core/libmultiprocess#196 - bitcoin-core/libmultiprocess#237 The last change bitcoin-core/libmultiprocess#237 is expected to fix issue #34187 occasional `rpc_misc.py` test hang. The other changes are just documentation & ci updates. The changes can be verified by running `test/lint/git-subtree-check.sh src/ipc/libmultiprocess` as described in [developer notes](https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#subtrees) and [lint instructions](https://github.com/bitcoin/bitcoin/tree/master/test/lint#git-subtree-checksh) ACKs for top commit: sedited: ACK 73d0fe6 Tree-SHA512: 82fb2973b8fb5e792dcff1adde0b158ac67cc6a9aeef4465e0bbdfbef88e41d44d9bad53b1d467be47bf594befa02bd8e7829c0a0bc67aaaeb4ca1e09b672a32
3a69d4755a Merge bitcoin-core/libmultiprocess#241: doc: Bump version number v7 -> v8 0ade1b40ac doc: Bump version number 1fc65008f7 Merge bitcoin-core/libmultiprocess#237: Made SpawnProcess() behavior safe post fork() 5205a87cd9 test: check SpawnProcess post-fork safety 69652f0edf Precompute argv before fork in SpawnProcess 30a8681de6 SpawnProcess: avoid fd leak on close failure d0fc1081d0 Merge bitcoin-core/libmultiprocess#196: ci: Add NetBSD job 7b171f45bf Merge bitcoin-core/libmultiprocess#234: doc: Fix typos and grammar in documentation and comments 861da39cae ci: Add NetBSD job 458745e394 Fix various typos, spelling mistakes, and grammatical errors in design.md and source code comments. 585decc856 Merge bitcoin-core/libmultiprocess#236: ci: Install binary package `capnproto` on OpenBSD instead of building it 14e926a3ff refactor: extract MakeArgv helper 1ee909393f ci: Install binary package `capnproto` on OpenBSD instead of building it 470fc518d4 Merge bitcoin-core/libmultiprocess#230: cmake: add ONLY_CAPNP target_capnp_sources option 2d8886f26c Merge bitcoin-core/libmultiprocess#228: Add versions.md and version.h files describing version branches and tags c1838be565 Merge bitcoin-core/libmultiprocess#225: Improve and document act support a173f1704c Merge bitcoin-core/libmultiprocess#223: ci: Replace nix-shell with equivalent nix develop command 625eaca42f Merge bitcoin-core/libmultiprocess#229: Design Documentation Update cc234be73a Design doc update 81c652687b cmake: add ONLY_CAPNP target_capnp_sources option 6e01d2d766 Add versions.md and version.h files describing version branches and tags 4e3f8fa0d2 doc: add instructions for using act 81712ff6bb ci: disable KVM and sandbox inside act containers 18a2237a8e ci: Replace nix-shell with equivalent nix develop command git-subtree-dir: src/ipc/libmultiprocess git-subtree-split: 3a69d4755af36752f281f787478da053867081fe

This PR contains an attempt to improve the design documentation to help new contributors to the repo. It adds more details about
BuildField,ReadFieldandPassField. It explains how Callbacks, ThreadMaps and Async processing work.