Skip to content
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

Ensure that Task SDK supervisor closes all its subprocess handles correctly. #44263

Merged
merged 1 commit into from
Nov 22, 2024

Commits on Nov 22, 2024

  1. Ensure that Task SDK supervisor closes all its handles correctly.

    If we don't we keep any copies of it open then the selector loop in monitor
    process will get stuck waiting on a read loop.
    
    Sadly I wasn't able to reproduce this behaviour in unit tests, but only when
    running this code for real. (The main fix here is to pass `child_stderr` to
    _close_unused_sockets too, the rest are drive-by tidy ups)
    
    Since we never access `proc.stdout` or stderr on the class (they are closed
    over in the callbacks only) I removed those properties as they aren't needed
    and shouldn't be accessed directly as it would lead to garbled output.
    
    Also add tests (and re-fix) the last-chance exception handling
    ashb committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    2b14e69 View commit details
    Browse the repository at this point in the history