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; }; |