You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Windows unix socket support should use WSA_FLAG_NO_HANDLE_INHERIT flag #64166
Without this flag a spawned subprocess inherits sockets, which prevents the parent process from cleanly cancelling them. This triggered a deadlock in the test runner under certain conditions where a browser subprocess inherits and keeps-open the unix socket socket used to communicate with test suites spawned as subprocesses. This will be worked around in dart-lang/test#2740, but this could still cause problems elsewhere and doesn't match the behavior on linux.
We control handle inheritance by setting PROC_THREAD_ATTRIBUTE_HANDLE_LIST. But I can see that there is a path through ProcessStarter::Start when you are launching in kInheritStdio mode which does not set it up correctly - and causes child process to inadvertently inherit all handles. Which is not intended.
Activity
mraleph commentedon Aug 31, 2026
We control handle inheritance by setting
PROC_THREAD_ATTRIBUTE_HANDLE_LIST. But I can see that there is a path throughProcessStarter::Startwhen you are launching inkInheritStdiomode which does not set it up correctly - and causes child process to inadvertently inherit all handles. Which is not intended.Fix deadlock waiting on serverSocket (#2740)
Fix deadlock waiting on serverSocket (#2740)
natebosch commentedon Sep 3, 2026
CL to use
PROC_THREAD_ATTRIBUTE_HANDLE_LIST: https://dart-review.googlesource.com/c/sdk/+/543080[vm/io] Restrict handle inheritance for inheritStdio on Windows