• Christopher Fujino's avatar
    [flutter_tools] catch SocketException writing to ios-deploy stdin (#139784) · fac41dde
    Christopher Fujino authored
    Fixes https://github.com/flutter/flutter/issues/139709
    
    This adds a static helper method `ProcessUtils.writelnToStdinGuarded()`, which will asynchronously write to a sub-process's STDIN `IOSink` and catch errors.
    
    In talking with Brian, it sounds like this is the best and most reliable way to catch `SocketException`s during these writes *to sub-process file descriptors* specifically (with a "real" hard drive file, the future returned by `.flush()` should complete with the write error).
    
    Also, as I note in the dartdoc to `writelnToStdinGuarded()`, the behavior seems to be different between macOS and linux.
    
    Moving forward, in any place where we want to catch exceptions writing to STDIN, we will want to use this new helper.
    fac41dde
ios_device_logger_test.dart 37.3 KB