Skip to content

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