Capture SIGINT and SIGTERM to clean up sockets #2018
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This replaces #1845 which got a bit out of date with the new processes.
I wasn't able to reproduce any socket problems when using
ctrl + c
orkill
while any of the processes were running, so was hard for me to test but it didn't make it worse at least. I used the same principle (although a slightly different approach) as @devinus did in the original PR which solves issues he was apparently having with sockets not being cleaned up if abruptly stopping the daemon.Clearing the transports in
ipc_server::stop
(a previous review comment) caused some lifetime issues in the async handlers so I have not pursued this currently.