mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 06:43:45 +01:00
2581258ec2ipc: Handle bitcoin-wallet disconnections (Ryan Ofsky)2160995916ipc: Add Ctrl-C handler for spawned subprocesses (Ryan Ofsky)0c28068cebdoc: Improve IPC interface comments (Ryan Ofsky)7f65aac78bipc: Avoid waiting for clients to disconnect when shutting down (Ryan Ofsky)6eb09fd614test: Add unit test coverage for Init and Shutdown code (Ryan Ofsky)9a9fb19536ipc: Use EventLoopRef instead of addClient/removeClient (Ryan Ofsky)e886c65b6bSquashed 'src/ipc/libmultiprocess/' changes from 27c7e8e5a581..b4120d34bad2 (Ryan Ofsky) Pull request description: This PR fixes various problems when IPC connections are broken or hang which were reported in https://github.com/bitcoin-core/libmultiprocess/issues/123, https://github.com/bitcoin-core/libmultiprocess/issues/176, and https://github.com/bitcoin-core/libmultiprocess/pull/182. The different fixes are described in commit messages. --- The first two commits of this PR update the libmultiprocess subtree including the following PRs: - https://github.com/bitcoin-core/libmultiprocess/pull/181 - https://github.com/bitcoin-core/libmultiprocess/pull/179 - https://github.com/bitcoin-core/libmultiprocess/pull/160 - https://github.com/bitcoin-core/libmultiprocess/pull/184 - https://github.com/bitcoin-core/libmultiprocess/pull/187 - https://github.com/bitcoin-core/libmultiprocess/pull/186 - https://github.com/bitcoin-core/libmultiprocess/pull/192 The subtree 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). The remaining commits are: - [`9a9fb19536fa` ipc: Use EventLoopRef instead of addClient/removeClient](9a9fb19536) - [`6eb09fd6141f` test: Add unit test coverage for Init and Shutdown code](6eb09fd614) - [`7f65aac78b95` ipc: Avoid waiting for clients to disconnect when shutting down](7f65aac78b) - [`0c28068ceb7b` doc: Improve IPC interface comments](0c28068ceb) - [`216099591632` ipc: Add Ctrl-C handler for spawned subprocesses](2160995916) - [`2581258ec200` ipc: Handle bitcoin-wallet disconnections](2581258ec2) The new commits depend on the subtree update, and because the subtree update includes an incompatible API change, the "Use EventLoopRef" commit needs to be part of the same PR to avoid breaking the build. The other commits also make sense to merge at the same time because the bitcoin & libmultiprocess changes were written and tested together. --- This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/issues/28722). ACKs for top commit: Sjors: re-utACK2581258ec2josibake: code review ACK2581258ec2pinheadmz: re-ACK2581258ec2Tree-SHA512: 0095aa22d507803e2a2d46eff51fb6caf965cc0c97ccfa615bd97805d5d51e66a5b4b040640deb92896438b1fb9f6879847124c9d0e120283287bfce37b8d748