Skip to content

doc: Add comments for socket descriptor handling when forking#108

Merged
ryanofsky merged 1 commit intobitcoin-core:masterfrom
sedited:forkDocs
Aug 21, 2024
Merged

doc: Add comments for socket descriptor handling when forking#108
ryanofsky merged 1 commit intobitcoin-core:masterfrom
sedited:forkDocs

Conversation

@sedited
Copy link
Copy Markdown
Collaborator

@sedited sedited commented Aug 21, 2024

I find logic around forking child processes always a bit confusing, hopefully these comments can make it a bit easier for a future reader.

@ryanofsky
Copy link
Copy Markdown
Collaborator

Code review ACK b56bf21

Separately, it looks like there is also a potential leak in that function because both socketpair descriptors will be leaked if fork() fails. But probably this is not a serious issue because if fork() fails, something is already very wrong and the process might be to exit anyway.

@ryanofsky ryanofsky merged commit 8bb6eab into bitcoin-core:master Aug 21, 2024
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 9, 2024
…nd cmake headers target

This update brings in the following changes:

bitcoin-core/libmultiprocess#105 types: Add Custom{Build,Read,Pass}Message hooks
bitcoin-core/libmultiprocess#106 Bugfix: Clean up ThreadContext pointers when Connection is destroyed
bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 10, 2024
…nd cmake headers target

This update brings in the following changes:

bitcoin-core/libmultiprocess#105 types: Add Custom{Build,Read,Pass}Message hooks
bitcoin-core/libmultiprocess#106 Bugfix: Clean up ThreadContext pointers when Connection is destroyed
bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 10, 2024
This update brings in the following changes:

bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 17, 2024
This update brings in the following changes:

bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 17, 2024
This update brings in the following changes:

bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 19, 2024
This update brings in the following changes:

bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 19, 2024
This update brings in the following changes:

bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 24, 2024
This update brings in the following changes:

bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Sep 24, 2024
This update brings in the following changes:

bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
janus pushed a commit to BitgesellOfficial/bitgesell that referenced this pull request Jan 19, 2025
This update brings in the following changes:

bitcoin-core/libmultiprocess#107 example: Remove manual client adding
bitcoin-core/libmultiprocess#108 doc: Add comments for socket descriptor handling when forking
bitcoin-core/libmultiprocess#109 example: Add missing thread.join() call so example can exit cleanly
bitcoin-core/libmultiprocess#110 cmake: add target_capnp_sources headers target
@bitcoin-core bitcoin-core locked and limited conversation to collaborators Aug 21, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants