Skip to content

Use of Execution and teardown sequences race with process termination #87

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

jakepetroules
Copy link
Contributor

Process termination monitoring is started asynchronously with the closure which receives the Execution, meaning any use of Execution in the body to send signals, etc., may send them to a pid which no longer refers to the original process. The cleanup handler may also run after the process has already terminated. This compounds with the fix for #82 (#83) to fully resolve the race conditions.

Process termination monitoring is started asynchronously with the closure which receives the Execution, meaning any use of Execution in the body to send signals, etc., may send them to a pid which no longer refers to the original process. The cleanup handler may also run after the process has already terminated. This compounds with the fix for #82 (#83) to fully resolve the race conditions.
@jakepetroules jakepetroules force-pushed the eng/PR-termination-race branch from 1698cf4 to 6fb31a1 Compare June 18, 2025 07:06
@jakepetroules
Copy link
Contributor Author

#81 needs to land first, as the macOS test failure shows exactly why that implementation is problematic (process is killed even though it'll successfully exit).

@jakepetroules
Copy link
Contributor Author

Rolled into #88

@jakepetroules jakepetroules deleted the eng/PR-termination-race branch June 23, 2025 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant