ager@google.com
99831629bf
Post on the error handler in the Directory API when errors are encountered.
...
Terminate the listing operation at that point.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8499018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1338 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 08:08:50 +00:00
turnidge@google.com
04d38885a3
Renaming:
...
Dart_ObjectToString -> Dart_ToString
Dart_Objects_Equal -> Dart_ObjectEquals
Dart_IsInstanceOf -> Dart_ObjectIsType
Dart_ReThrowException -> Dart_RethrowException
Added:
Dart_IsSame: === operation
Added a couple of tests.
Review URL: http://codereview.chromium.org//8490016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1326 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-08 19:18:22 +00:00
ager@google.com
0a03298fea
Fix hang when opening sockets on ports that are not available.
...
Fix TimeoutTest to use free ports instead of using the same port
always. This does not work because tests are run in parallel and
we can have more than one instance of TimeoutTest running.
R=sgjesse@google.com ,whesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8498009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1310 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-08 13:26:51 +00:00
sgjesse@google.com
37b6f2328a
Fix handling of async IO from pipes on Windows
...
The handling of async IO on Windows wrongly casted everything to a socket connection. For named pipe based connections this caused reading of invalid memory.
Moved some of the functions to a common superclass and only call showdown for socket connections. For named pipe based connections the Dart part of the code will never send shutdown commands as named pipe based connections start out being closed in one direction and closing the other direction causes a close command.
R=ager@google.com
BUG=dart:363
TEST=
Review URL: http://codereview.chromium.org//8503006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1308 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-08 13:13:26 +00:00
sgjesse@google.com
96f822068e
Fix build
...
TBR=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8498005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1299 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-08 10:02:44 +00:00
sgjesse@google.com
4a45573956
Change the default for the len argument to writeFrom on OutputStream
...
Fixed a bug in the writing code as a result.
Also added copyByffer argument to one of the write methods on the OutputStream interface.
R=ager@google.com
BUG=dart:292
TEST=EchoServerStreamTest.dart
Review URL: http://codereview.chromium.org//8493002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1293 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-08 09:42:20 +00:00
ager@google.com
ec697c8481
Implementation of Platform class that exposes information about the machine and the OS.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8492007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1260 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 15:04:42 +00:00
sgjesse@google.com
19bab0d5d9
Fix build
...
TBR=whesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8494009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1255 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 14:02:22 +00:00
sgjesse@google.com
77e1072eeb
Change the handling of the close event in the StringInputStream
...
When the underlying InputStream issues a close event keep track of
when the final string data have been read from the
StringInputStream. When all string data have been read schedule a
callback of the close event.
R=whesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8477026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1253 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 13:51:37 +00:00
ager@google.com
8a7ae17d76
Handling of wrong types of arguments in the File API.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8491014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1251 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 13:23:28 +00:00
sgjesse@google.com
516d71ab0b
Change the handling of closing sockets
...
Sockets now supports being half-closed for either reading or writing. When a socket is closed it is by default closed for both read and write and the underlying file descriptor is destroyed. However the socket close can be asked to only half-close the socket to send end of stream to the other end and still have the ability to receive more data.
The close event on a socket is only emitted when the socket is closed by the other end. Both half-close and full-close by the other end is reported as a close event. If a socket is already half closed the close event will automatically destroy the socket.
The streams on the sockets also takes advantage of this. A socket input stream will report a close event when the other end closed. A socket output stream will half-close the socket when close is called making it possible to still receive data on the input stream. When both streams have been closed the socket is destroyed.
For sockets operating on pipes they are initially created as half-closed for either reading or writing depending on which type of pipe a socket object is based on. A pipe for writing will start half-closed for reading so if it is only half-closed for writing the socket will still be destroyed. Same with a pipe for reading that will start half-closed for writing and when a close event is received half-closing the other direction will destroy the socket. Socket objects based on pipes are only exposed through streams.
Extended the socket close test to test a number of different scenarios.
Also refactor the socket data C++ object to encapsulate more socket information and operations.
Now the Linux and Mac OS versions are 100% the same as it turned out that using POLLRDHUP on Linux was not required any more.
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8437090
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1196 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-04 12:34:43 +00:00
ager@google.com
68166663f9
Renaming Array -> List in the VM API.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org//8372094
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1195 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-04 12:25:53 +00:00
iposva@google.com
97634fb30e
- Add the implementation of the Options interface to the runtime.
...
Review URL: http://codereview.chromium.org//8437075
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1169 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 21:45:03 +00:00
ager@google.com
8e714d4a4c
Fix type mismatch in File.fullPathSync.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8351094
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1137 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 10:06:55 +00:00
ager@google.com
026a56f666
Implement fullPath method on File objects.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8439067
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1134 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 08:28:16 +00:00
mattsh@google.com
512a603600
use more distinctive pattern to mark where dart source goes
...
BUG=
TEST=
Review URL: http://codereview.chromium.org//8363018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1100 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 16:58:25 +00:00
ager@google.com
f74ecd22fd
Implemented File create API.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8437056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1095 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 15:57:54 +00:00
ager@google.com
3c821dbcdd
Refactor async file implementation.
...
Use FileOperation classes instead of maps.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8440037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1088 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 13:53:10 +00:00
ager@google.com
ba34b6eb98
Fix process test and implementation after change to setter for registering event handler.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8440035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1084 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 12:50:59 +00:00
ager@google.com
362d04f9af
Consistently use setters to set event handlers in native APIs.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8386029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1083 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 12:12:43 +00:00
asiva@google.com
133894629b
Fix return statement to return the right result.
...
Review URL: http://codereview.chromium.org//8439028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1062 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 01:22:40 +00:00
cshapiro@google.com
6d99ab1ec2
Fail if an imported file cannot be read.
...
Review URL: http://codereview.chromium.org//8439025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1060 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 00:54:02 +00:00
ager@google.com
5b5c36e253
Implement async file API on top of isolates.
...
This is not going to be efficient but will give us the right
semantics of the operations. We should be using native async
operations for this.
Fixed a bug in VM implementation of List.setRange.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8431028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1012 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 14:07:30 +00:00
sgjesse@google.com
032de2585d
Some Linux and Mac OS event handler refactoring
...
This moved some of the handling of the data on a socket to a socket data object.
This is a step in preparation for another change where more state will be stored on socket data object.
This is also a step in moving from an array of socket data objects indexed by the file descriptor to a hash map of socket data objects.
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8431027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1001 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 11:54:14 +00:00
sgjesse@google.com
18e5ef8da5
New OutputStream interface
...
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8413034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@997 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 10:10:37 +00:00
asiva@google.com
8e2f6361f1
When generating snapshots for a specified script don't include the builtin library by default. The DOM snap shot for instance does not want the builtin library. If the builtin library is needed it needs to be explicitly imported in the specified script.
...
Review URL: http://codereview.chromium.org//8343071
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@971 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-31 20:53:44 +00:00
ager@google.com
83539ca419
Add type checks to directory listing.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8417023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@940 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-31 09:37:07 +00:00
asiva@google.com
9c7db339b8
Allocate and pass a resolved_path buffer to realpath as older macos versions
...
do not work when a NULL is passed in for resolved_path
Review URL: http://codereview.chromium.org//8400070
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@917 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 20:22:34 +00:00
rchandia@google.com
035fdaa49d
Added builtin native call to exit the running vm
...
Total uses exit(int) to signal whether to stop or restart
R=iposva@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8317006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@893 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 15:32:33 +00:00
srdjan@google.com
8d69118676
More strict non-equal cleanups in library code
...
Review URL: http://codereview.chromium.org//8413018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@892 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 15:21:42 +00:00
sgjesse@google.com
6568436be7
Explicitly handle listen sockets and connection sockets differently in Linux and Mac OS eventhandler
...
Previously the assumption was that an POLLIN event with no data available was from a listen socket with pending accepts. However a POLLIN event from a connection socket can have no data available if the data has been read before the event is processed.
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8399039
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@878 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 09:30:42 +00:00
srdjan@google.com
959f4b519d
Use strict equality when comparing with null, especially when null is a default value.
...
Review URL: http://codereview.chromium.org//8400038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@859 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 22:11:16 +00:00
ager@google.com
d864b5e1f6
First round of changes to the file interface.
...
Have both async and sync version for the file operations. The
thinking is that once you have used an async operation you will
not be allowed to use a sync one. Only sync versions currently
implemented.
Instead of having one input and one output stream associated with a
file we create new streams whenever needed. These get their own
underlying file descriptor so they do not interfere. This means
that FileStreams have to be explicitly closed.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8399033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@819 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 13:33:18 +00:00
sgjesse@google.com
500a14c6d5
Only call the dataReceived callback for sockets if there is actually data available
...
R=ager@google.com
BUG=
TEST=EchoServerStreamTest.dart
Review URL: http://codereview.chromium.org//8363044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@809 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 10:08:08 +00:00
turnidge@google.com
e756497a78
Refactor the dart api a bit:
...
- Dart_Result is gone. Dart_Handle mostly replaces it.
- Name/signature changes
- IsValidResult -> IsValid
- GetErrorCString -> GetError
- many more...
- Make details of persistent handle freelist private.
- Add persistent "True" handle to api state.
Things I am not doing in this changelist:
- Documentation updates
Review URL: http://codereview.chromium.org//8380020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@778 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 20:38:41 +00:00
sgjesse@google.com
00a00bcdb4
This contains a new InputStream and StringInputStream interfaces.
...
The readUntil is only supported through readLine on the StringInputStream.
The StringInputStream implementation in string_stream.dart could live outside the VM as it is plain Dart code.
BUG=
TEST=
Review URL: http://codereview.chromium.org//8318009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@747 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 13:17:28 +00:00
ager@google.com
1fa8860919
Implement path canonicalization on Windows to fix infinite loop on cyclic includes.
...
R=sgjesse@google.com
BUG=179
TEST=language/CyclicImportTest
Review URL: http://codereview.chromium.org//8394041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@744 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 12:44:16 +00:00
asiva@google.com
597dba3644
Fix windows build.
...
TBR=regis.
Review URL: http://codereview.chromium.org//8341032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@715 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 21:09:44 +00:00
asiva@google.com
ac94efb33f
Fix infinite recursion when dealing with cyclic library dependencies.
...
Review URL: http://codereview.chromium.org//8371016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@714 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 21:01:07 +00:00
ager@google.com
60300b4c0e
Fix Mac build.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8375052
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@691 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 12:20:33 +00:00
ager@google.com
86284155b9
Improve error handling in the process library.
...
Verify that the arguments have the types expected by the
implementation. Require a List instance containing builtin
Strings as the arguments. Require a builtin String path.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8383037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@690 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 12:16:04 +00:00
ager@google.com
0005f9fe53
Use realpath on Linux and MacOS to compute the full path for directory listing.
...
R=sgjesse@google.com
Review URL: http://codereview.chromium.org//8351003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@628 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-24 12:58:07 +00:00
sgjesse@google.com
ebe5b49e51
Added file missing from last commit
...
TBR=rchandia@google.com
Review URL: http://codereview.chromium.org//8364041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@604 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-21 15:36:15 +00:00
sgjesse@google.com
17f9c619db
Rename getters in process object
...
stdinStream -> stdin
stdoutStream -> stdout
stderrStream -> stderr
R=rchandia@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8359033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@602 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-21 15:22:35 +00:00
iposva@google.com
481305a9c7
- Fix which headers are included.
...
Review URL: http://codereview.chromium.org//8347023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@555 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-19 15:44:40 +00:00
jrgfogh@google.com
999a62bd68
Fixed NullPointerException in Timer.
...
Review URL: http://codereview.chromium.org//8346030
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@547 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-19 10:00:19 +00:00
rchandia@google.com
055ff3f630
Flush stdout on calls to PrintString
...
R=iposva@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8345009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@530 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:06:01 +00:00
sgjesse@google.com
7041797907
Get the OS error message for process exceptions on Windows
...
R=ager@google.com
Review URL: http://codereview.chromium.org//8277035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@435 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 13:03:39 +00:00
ager@google.com
17f168a2f1
Fix type annotation error in directory implementation.
...
TBR=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8273038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@434 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 12:57:42 +00:00
ager@google.com
953d2599c1
Add exists, create and delete to directory implementation on Linux and Mac.
...
All of the directory implementations on Linux and Mac are identical
and uncontroversial. Join the implementations in directory_posix for
now. I will split it into the two files again if it becomes necessary.
BUG=
TEST=
Review URL: http://codereview.chromium.org//8277033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@432 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 12:42:44 +00:00