| Index: runtime/bin/stdio_patch.dart
|
| diff --git a/runtime/bin/stdio_patch.dart b/runtime/bin/stdio_patch.dart
|
| index 9ec2d52906982903fb63bf9ccbf3a6bdf84ff635..38c488d1857070345f2796b21336caf916b4c378 100644
|
| --- a/runtime/bin/stdio_patch.dart
|
| +++ b/runtime/bin/stdio_patch.dart
|
| @@ -3,45 +3,39 @@
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| patch class _StdIOUtils {
|
| - static InputStream _getStdioInputStream() {
|
| + static Stream<List<int>> _getStdioInputStream() {
|
| switch (_getStdioHandleType(0)) {
|
| case _STDIO_HANDLE_TYPE_TERMINAL:
|
| case _STDIO_HANDLE_TYPE_PIPE:
|
| case _STDIO_HANDLE_TYPE_SOCKET:
|
| - Socket s = new _Socket._internalReadOnly();
|
| - _getStdioHandle(s, 0);
|
| - s._closed = false;
|
| - return s.inputStream;
|
| + return new _Socket._readPipe(0);
|
| case _STDIO_HANDLE_TYPE_FILE:
|
| - return new _FileInputStream.fromStdio(0);
|
| + return new _FileStream.forStdin();
|
| default:
|
| throw new FileIOException("Unsupported stdin type");
|
| }
|
| }
|
|
|
| - static OutputStream _getStdioOutputStream(int fd) {
|
| + static IOSink _getStdioOutputStream(int fd) {
|
| assert(fd == 1 || fd == 2);
|
| switch (_getStdioHandleType(fd)) {
|
| case _STDIO_HANDLE_TYPE_TERMINAL:
|
| case _STDIO_HANDLE_TYPE_PIPE:
|
| case _STDIO_HANDLE_TYPE_SOCKET:
|
| - Socket s = new _Socket._internalWriteOnly();
|
| - _getStdioHandle(s, fd);
|
| - s._closed = false;
|
| - return s.outputStream;
|
| + return new _Socket._writePipe(fd);
|
| case _STDIO_HANDLE_TYPE_FILE:
|
| - return new _FileOutputStream.fromStdio(fd);
|
| + return new IOSink(new _FileStreamConsumer.fromStdio(fd));
|
| default:
|
| throw new FileIOException("Unsupported stdin type");
|
| }
|
| }
|
|
|
| - static int _socketType(Socket socket) {
|
| - return _getSocketType(socket);
|
| + static int _socketType(nativeSocket) {
|
| + return _getSocketType(nativeSocket);
|
| }
|
| }
|
|
|
|
|
| -_getStdioHandle(Socket socket, int num) native "Socket_GetStdioHandle";
|
| +_getStdioHandle(_NativeSocket socket, int num) native "Socket_GetStdioHandle";
|
| _getStdioHandleType(int num) native "File_GetStdioHandleType";
|
| -_getSocketType(Socket socket) native "Socket_GetType";
|
| +_getSocketType(_NativeSocket nativeSocket) native "Socket_GetType";
|
|
|