To be able to communicate with a child process via stdin, stdout and stderr, the CreateProcess() parameter bInheritHandles must be set to TRUE. But this causes *all* handles to be inherited, including sockets. One possibility could be to use an extended API to set extra attributes on process creation: - <https://stackoverflow.com/a/28185363/1987178> - <https://devblogs.microsoft.com/oldnewthing/20111216-00/?p=8873> But it seems that this API is not available on MinGW (it does not compile). As an alternative, explicitly mark all sockets as non-inheritable. Fixes #2779 <https://github.com/Genymobile/scrcpy/issues/2779>