Commit Graph

17 Commits

Author SHA1 Message Date
ajohnsen@google.com a08b282ee8 Use a sync-writing StreamConsumer for stdout/stderr.
This makes stdout.write and stderr.write block, until the write is done.

BUG=https://code.google.com/p/dart/issues/detail?id=17020
R=whesse@google.com

Review URL: https://codereview.chromium.org//195893012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33645 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-13 11:20:34 +00:00
ajohnsen@google.com 0f52be7f63 Make std* blocking file-descriptors.
This will most likely be a performance regression when piping, that
we'll have to look into in the future (copying data through
    message-passing).

BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//154273003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32715 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-17 10:06:35 +00:00
ajohnsen@google.com 7a8abc62b7 Fix Stdout in checked mode.
BUG=

Review URL: https://codereview.chromium.org//119183002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31263 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 12:26:27 +00:00
ajohnsen@google.com 5e564f370d Add getter for hasTerminal, terminalColumns and terminalLines on stdin.
BUG=https://code.google.com/p/dart/issues/detail?id=15557
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//102123010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31255 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 10:59:58 +00:00
ajohnsen@google.com c88afd2ca4 Add getter for lineMode and echoMode for Stdin.
BUG=https://code.google.com/p/dart/issues/detail?id=15424
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//102953008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31103 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-12 16:42:26 +00:00
ajohnsen@google.com 103eac574c Remove FileException, DirectoryException and LinkException from dart:io and use FileSystemException instaed.
BUG=https://code.google.com/p/dart/issues/detail?id=12461
R=nweiz@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//26968003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29168 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-24 12:17:20 +00:00
ajohnsen@google.com 4b4f0307ba Add echo and line modes to Stdin.
BUG=https://code.google.com/p/dart/issues/detail?id=8190,https://code.google.com/p/dart/issues/detail?id=9825,https://code.google.com/p/dart/issues/detail?id=11659
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//19627004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25413 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 13:51:55 +00:00
ajohnsen@google.com 908bf5b435 Fix Stdio->Stdin typo and missing external.
BUG=

Review URL: https://codereview.chromium.org//18532002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24685 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 13:29:34 +00:00
ajohnsen@google.com 8aa206940c Add Stdio.readByteSync and Stdio.readLineSync.
BUG=https://code.google.com/p/dart/issues/detail?id=7136
R=whesse@google.com

Review URL: https://codereview.chromium.org//18516002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24684 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 13:18:00 +00:00
ajohnsen@google.com 5ce3b9ddea Clean up dart:io exceptions.
- Introduce IOException.
- Remove HttpParserException.
- Merge RedirectLimitExceededException and RedirectLoopException into
RedirectException.
- Remove 'IO' from FileIOException, DirectoryIOException, LinkIOException
and SocketIOException.

BUG=https://code.google.com/p/dart/issues/detail?id=9955
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//16123036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23848 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-11 13:15:46 +00:00
ajohnsen@google.com ea312dd9e3 Also wrap stdin/stdout/stderr on Process.
BUG=https://code.google.com/p/dart/issues/detail?id=9439

Review URL: https://codereview.chromium.org//13929002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21132 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-09 06:21:17 +00:00
ajohnsen@google.com 140409a05a Wrap stdout/stderr/stdin to only expose the relevant methods.
BUG=https://code.google.com/p/dart/issues/detail?id=9439,https://code.google.com/p/dart/issues/detail?id=9593

Review URL: https://codereview.chromium.org//13787003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21063 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-08 12:13:03 +00:00
sgjesse@google.com e40ce105af Fix a number of issues with determining the type of stdio
* Fix checked mode exception when _getSocketType returns an OSError
 * Treat any character device as terminal (this includes /dev/null)
 * Fix detecting of file redirection af file
 * Don't turn an unkonwn device type into an OSError (wth value for an unknown was -1)

Expanded an existing test to catch some of this.

R=ager@google.com

BUG=https://code.google.com/p/dart/issues/detail?id=9637

Review URL: https://codereview.chromium.org//13636003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20960 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 11:13:24 +00:00
sgjesse@google.com 488b016a2f Merge IO v2 branch to bleeding edge
R=ager@google.com, ajohnsen@google.com, whesse@google.com

BUG=

Review URL: https://codereview.chromium.org//12316036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18820 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-21 11:58:11 +00:00
sgjesse@google.com 800b4b6c37 Add function for finding what a InputStream or OutputStream is attached to
For the dart:io types InputStream and OutputStream the top level
function stdioType will return whether the stream is attached to a
terminal, pipe, file or something else.

BUG=dart:2789

R=ager@google.com

Review URL: https://codereview.chromium.org//11773041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16839 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-09 09:17:07 +00:00
ager@google.com 81ea12b120 Fix unresolved classes issues in dart:io.
R=sgjesse@google.com
BUG=dartbug.com/7299

Review URL: https://codereview.chromium.org//11553020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16026 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 09:23:57 +00:00
ager@google.com aac030e777 Use patching for dart:io.
This allows the tools such as dartdoc to operate on dart:io
in the same way as it does with other code and allows the
implemenation of parts of dart:io for dart2js if we ever
want to do that.

The current patching is very VM specific. I have only moved
stuff to patch files when they actually need to be. For
Process and Socket everything has to be moved because they
use native fields. For the rest, only the individual native
calls have been put in patch files.

R=sgjesse@google.com,ajohnsen@google.com
BUG=

Review URL: https://codereview.chromium.org//11337019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14259 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-30 10:32:30 +00:00