Chromium Code Reviews| Index: utils/pub/io.dart |
| diff --git a/utils/pub/io.dart b/utils/pub/io.dart |
| index 06f818d3264189a9ba8e52ce2f84a3f8b6ad23c0..3c703517bd2dbe40acbdbdd3757f58248ab5a6b7 100644 |
| --- a/utils/pub/io.dart |
| +++ b/utils/pub/io.dart |
| @@ -623,7 +623,12 @@ Future pipeInputToInput(InputStream source, ListInputStream sink) { |
| // Even if the sink is closed and we aren't going to do anything with more |
| // data, we still need to drain it from source to work around issue 7218. |
| var data = source.read(); |
| - if (!sink.closed) sink.write(data); |
| + |
| + // Force the program to spin the event loop to work around issue 4222 and |
| + // get sink.closed to be set correctly. |
|
Bob Nystrom
2012/12/08 03:51:05
Add some kind of TODO to do something less nasty h
|
| + sleep(0).then((_) { |
| + if (!sink.closed) sink.write(data); |
| + }); |
| }; |
| // TODO(nweiz): propagate this error to the sink. See issue 3657. |
| source.onError = (e) { throw e; }; |