Add monitor function which doesn't block parent from shutting down #58
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 comes up time and again, where we want to have a fork, but do not want the fork to block the parent from shutting down. Where this is common is in the error monitor pattern that has emerged in bigtest-server. Hence the function name.
So for example:
This is tricky because the error monitor will block the fork from shutting down. This is likely not what we want. Instead we want the monitor to shut down if the parent exits. To accomplish this today, we need to wrap the entire rest of the function in a try-finally.
This is both ugly and error prone. With the monitor function we can write this more naturally: