Commit Graph

3172 Commits

Author SHA1 Message Date
sgjesse@google.com 82312e0130 Use UUIDs for named pipe names on Windows instead of counter
R=ager@google.com
Review URL: http://codereview.chromium.org//8276002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@422 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 07:34:05 +00:00
sgjesse@google.com b98198c894 Make sure that the named pipe created for signalling the exit code is not inheritable
R=ager@google.com
Review URL: http://codereview.chromium.org//8267006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@396 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 13:34:36 +00:00
sgjesse@google.com 786aee238a Fix the handling of exceptions from process start
The privious change in r389 where the sockets used to communicate with the chile process did not work. Even though the Socket objects are not assigned any file descriptor they should still have their Dart port closed. If not the VM will not terminate.

TBR=ager@google.com

TEST=ProcessStartExceptionTest.dart
BUG=none

Review URL: http://codereview.chromium.org//8270001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@395 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 13:31:51 +00:00
sgjesse@google.com d0496ec807 Implement the full process interface for Windows
There are still a couple of TODOs in the code.

R=ager@google.com
Review URL: http://codereview.chromium.org//8249007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@389 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 10:38:37 +00:00
sgjesse@google.com 1cd5459f7b Add the ability to run tests with several sets of VM flags
The test-option VMOptions that can be placed in .dart test files can now be specified several times like this:

// VMOptions=
// VMOptions=--short_socket_read
// VMOptions=--short_socket_write
// VMOptions=--short_socket_read --short_socket_write

For each time VMOptions is specified a seperate test will be bun with the specified flags.

Used this to run the tests that uses sockets with short read and writes. Fixed a number of bugs in both stream implementation and in tests revealed by this.

R=iposva@google.com, ngeoffray@google.com

Review URL: http://codereview.chromium.org//8226016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@388 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 10:14:31 +00:00
ager@google.com 10f298a6d4 Directory: implement recursive listing on Windows.
R=sgjesse@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8244004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@364 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-12 13:03:06 +00:00
ager@google.com c53c7097d0 Directory: implement recursive directory listing on Linux and Mac.
R=sgjesse@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8243005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@363 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-12 12:53:39 +00:00
ager@google.com 59135cc57b Clean up directory listing interface.
Remove open and close. A directory instance just holds a string
representing the path to the directory.

R=sgjesse@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8244001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@362 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-12 10:39:30 +00:00
sgjesse@google.com 74e4e46c2f Fix wrong pointer arithmetic when extending the file descripter list in the eventhandler
This caused random crashes due to memory corruption when the file descripter list in the eventhandler needed to be extended.

R=ager@google.com

BUG=none
TEST=tests/dart/src/SocketManyConnectionsTest.dart

Review URL: http://codereview.chromium.org//8231005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@331 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 15:05:32 +00:00
ager@google.com 536a9f0500 Fix type mismatch in directory listing.
R=sgjesse@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8227014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@328 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 13:19:19 +00:00
ager@google.com cf136a7685 Use isolates for directory listing.
Use isolates to make directory listing asynchroneous from the point
of view of the main Dart isolate. Each listing operation will spawn
a new heavy isolate to perform the actually directory listing using
the synchroneous OS primitives.

R=sgjesse@google.com,iposva@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8232005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@327 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 13:12:14 +00:00
sgjesse@google.com d5e6daf99f Fix Windows build
TBR=ager@google.com

BUG=
TEST=

Review URL: http://codereview.chromium.org//8233008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@326 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 11:45:17 +00:00
sgjesse@google.com b7485553a2 Fix deadlock in process exit handling
As glibc allocation routines are not re-entrant avoid calling delete in signal handler.

Instead the message send from the signal handler on process exit contains both the pid and the exit code. The internal _Process object always installs a data handler for the exit message and calls back into C++ to cleanup the resources allocated for running a process.

Changed the ActiveProcess (renamed to ProcessInfo) to form an explicitly linked list.

R=ager@google.com

BUG=dart:1
TEST=

Review URL: http://codereview.chromium.org//8227010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@325 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 11:26:12 +00:00
ager@google.com 4914d6c9c6 Windows Sockets: handle client socket close correctly.
When the client closes the socket on which it is listening
GetQueuedCompletionsStatus can return with the error
ERROR_NETNAME_DELETED.

R=sgjesse@google.com
BUG=2
TEST=EchoServerTest.dart

Review URL: https://chromereviews.googleplex.com/3573014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@209 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-07 11:17:58 +00:00
asiva@google.com 0b30a49971 5419598: Add a setjmp around the isolate spawning code so that parse errors
are caught and reported as errors.
5417103: Add a setjmp around Dart_Run_Loop so that parse errors
are caught and reported as errors.
Review URL: https://chromereviews.googleplex.com/3553012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@140 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 18:33:36 +00:00
sgjesse@google.com 6abaad8aa1 Restructured socket tests and fixed readUntil on InputStream
Most of the socket tests where written with closing both the server and client ends of the socket. However on Windows this can lead to errors once in a while (WSAECONNRESET). The tests now closes the socket in the client and and waits for a close event on the server side.

The readUntil on InputStream did not take data in the internal buffer into account. This has been fixed and the related test have been rewritten to check for two patterns which together will match all the input.

R=ager@google.com

BUG=
TEST=

Review URL: https://chromereviews.googleplex.com/3536016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@126 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 14:47:49 +00:00
ager@google.com 30ede18056 Implement first version of directory listing library on Windows.
R=sgjesse@google.com
BUG=
TEST=

Review URL: https://chromereviews.googleplex.com/3543018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@123 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 14:28:05 +00:00
floitsch@google.com 15727ed074 Rename DateTime to Date.
Review URL: https://chromereviews.googleplex.com/3529013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@107 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 10:14:49 +00:00
sgjesse@google.com cc0ffa0766 Minor changes to Socket and File
* align the definition of the exception class with how ProcessException ended up
* add constants for redability

R=ager@google.com

BUG=
TEST=

Review URL: https://chromereviews.googleplex.com/3551012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@98 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 07:57:34 +00:00
ager@google.com 7c191c392b Fix Windows build after directory library changes.
R=sgjesse@google.com
BUG=
TEST=

Review URL: https://chromereviews.googleplex.com/3527012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 15:02:27 +00:00
ager@google.com 023fa46e48 Finish non-recursive synchronous directory listing on Linux and Mac.
Next steps: Testing, Windows support and using isolates to make
listing async.

We should probably change the API to not tie a Directory object
to a given OS directory structure. When spawning an isolate to
perform a listing operation, that will open the directory,
list its contents and close the directory. That way we can
do multiple listing operations with the same Directory object
without having interference.

R=sgjesse@google.com,iposva@google.com
BUG=
TEST=

Review URL: https://chromereviews.googleplex.com/3511020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 14:33:49 +00:00
dgrove@google.com 4c0f559d23 Initial checkin.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00