This PR fixes various problems when IPC connections are broken or hang which were reported in https://github.com/bitcoin-core/libmultiprocess/issues/123. The different fixes are described in commit messages.
This PR is a draft because it depends on https://github.com/bitcoin-core/libmultiprocess/pull/160. The non-base commits are:
197b2aaaaa6d
ipc: Use EventLoopRef instead of addClient/removeClient4bd117782f52
test: Add unit test coverage for Init and Shutdown code813dd4a534b1
ipc: Avoid waiting for clients to disconnect when shutting downaa561f4d1182
doc: Improve IPC interface comments7208ae54701d
ipc: Add Ctrl-C handler for spawned subprocessesa56468ab0bf2
ipc: Handle bitcoin-wallet disconnections
This PR is part of the process separation project.