Siva Annamalai
1e15e6f2d7
Fix for flutter issue 11260 ( flutter/flutter#11260 )
...
Do not rely on the udp_receive_buffer field from IsolateData as a buffer for
reading data in the recvfrom call.
Bug:
Change-Id: I43d19f624fd2a406429cc5387bd536524472b4f7
Reviewed-on: https://dart-review.googlesource.com/10212
Reviewed-by: Zach Anderson <zra@google.com >
2017-10-03 15:09:31 +00:00
Zachary Anderson
747868f2b1
[dart:io] Remove DART_IO_DISABLED
...
This was only used by Dartium.
Review-Url: https://codereview.chromium.org/3009523002 .
2017-08-24 11:17:52 -07:00
Zachary Anderson
6cd8a79078
VM: Re-format to use at most one newline between functions
...
R=asiva@google.com
Review-Url: https://codereview.chromium.org/2974233002 .
2017-07-13 08:08:37 -07:00
Ben Konyi
ddc4f30d75
Re-land socket refactor with fixes for Windows.
...
BUG=
R=zra@google.com
Review-Url: https://codereview.chromium.org/2797993005 .
2017-04-05 12:45:31 -07:00
Zachary Anderson
8c9c54d833
[dart:io] Don't close stdin with a socket finalizer
...
If an Isolate touches the 'stdio' getter, a _NativeSocket with
attached finalizer is created for it. Previously, when such an
Isolate exited, the finalizer would close the underlying
file descriptor. This CL changes the finalizer for stdin such
that the native objects will be cleaned up, but the underlying
file descriptor will not be closed. The underlying file
descriptor will now only be closed if the stdin stream
subscription is explicitly canceled.
Accessing the stdin getter after the stream is explicitly
canceled will result in a FileSystemException.
See also: https://github.com/dart-lang/test/issues/583
fixes #29229
R=rmacnak@google.com
Review-Url: https://codereview.chromium.org/2791423002 .
2017-04-04 13:57:42 -07:00
Ben Konyi
0386f7ab6f
Reverting until bots clear up.
...
Revert "Pulled a significant portion of Socket implementation into BaseSocket in order to prepare for the synchronous socket impementations which will also use these common methods."
This reverts commit 0422920142 .
Revert "Updated incorrect call to Write in process_win.cc"
This reverts commit 9e1435148b .
Revert "Fixed incorrect call to Write from process_win.cc"
This reverts commit 11dcab2bed3c9ec8ec76bc200206ac202a4a5681.
Fixed incorrect call to Write from process_win.cc
BUG=
Review-Url: https://codereview.chromium.org/2791163004 .
2017-04-03 17:25:47 -07:00
Ben Konyi
0422920142
Pulled a significant portion of Socket implementation into BaseSocket in order to prepare for the synchronous socket impementations which will also use these common methods.
...
BUG=
R=zra@google.com
Review-Url: https://codereview.chromium.org/2780063002 .
2017-04-03 17:05:11 -07:00
Zachary Anderson
89dba57bcf
[dart:io] Adds a finalizer to _NativeSocket to avoid socket leaks
...
The finalizer sends the "close" message to the EventHandler for the
file descriptor in the _NativeSocket's native field. To avoid races and
spurious messages, this CL stores a pointer to a wrapper object in the
native field instead of the file descriptor. All messsages about the
_NativeSocket sent to the EventHandler use the wrapper object instead of
the file descriptor. When the EventHandler closes the file, the file
descriptor in the wrapper object is set to -1 so that the finalizer will
instead do nothing.
On Windows, there is another level of indirection since the OS HANDLEs
were already wrapped in various kinds of Handle objects. As an additional
complication, ClientSocket close on Windows is asynchronous, so the
EventHandler may shutdown before all of the ClientSocket Handles can be
destroyed.
related #27898 , #28081
R=johnmccutchan@google.com
Review-Url: https://codereview.chromium.org/2760293002 .
2017-03-28 07:44:05 -07:00
Ryan Macnak
877284947b
Rename TARGET_OS_* to HOST_OS_*.
...
Like HOST_ARCH_*, HOST_OS_* describes the OS the VM is running on, which may be different from the OS the VM is generating code for during AOT compilation.
Currently we conflate the two when emitting AOT as assembly, and we get away with it because Flutter only uses assembly for targeting iOS and one can only target iOS from a Mac, but we expect to use assembly for Android as well so native tools can unwind Dart frames.
R=zra@google.com
Review-Url: https://codereview.chromium.org/2750843003 .
2017-03-15 13:11:05 -07:00
Zachary Anderson
479a97b129
clang-format runtime/bin
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2480793002 .
2016-11-04 12:30:56 -07:00
Zach Anderson
b6ea87c444
[windows] Make most file_win.cc functions use malloc for string conversions.
...
They have been using Dart_ScopeAllocate(), which makes them impossible
to use outside of a scope.
Also turn on inlining in the GN Debug windows build to match the gyp build
and speed things up a bit.
R=asiva@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/2439173002 .
2016-10-21 14:55:37 -07:00
Florian Loitsch
ef4933df25
Better error-message when bind fails.
...
See #26790 .
R=sgjesse@google.com
Committed: https://github.com/dart-lang/sdk/commit/34aed6a08b8547a985ac701cf3910a5f5450dd52
Reverted: https://github.com/dart-lang/sdk/commit/a1005bad7e249a5510b30683a5ca52b16baafbc4
Committed: https://github.com/dart-lang/sdk/commit/8c4954492f0593f41d270691bb82c26d8509c894
Reverted: https://github.com/dart-lang/sdk/commit/5ebcd3cda0f34be580be1a8ed816849a82691427
Committed: https://github.com/dart-lang/sdk/commit/eaeb260244d524b54d3ec842af2f8400cd543b12
Review URL: https://codereview.chromium.org/2205913003 .
Reverted: https://github.com/dart-lang/sdk/commit/90a194be3c03c058c4e087e1bd11823817982393
2016-08-04 14:45:01 +02:00
Florian Loitsch
90a194be3c
Enter a description of the change.
...
Merge branch 'master' into revert
Revert "Better error-message when bind fails."
This reverts commit eaeb260244 .
Review URL: https://codereview.chromium.org/2213533002 .
2016-08-03 23:18:39 +02:00
Florian Loitsch
eaeb260244
Better error-message when bind fails.
...
See #26790 .
R=sgjesse@google.com
Committed: https://github.com/dart-lang/sdk/commit/34aed6a08b8547a985ac701cf3910a5f5450dd52
Reverted: https://github.com/dart-lang/sdk/commit/a1005bad7e249a5510b30683a5ca52b16baafbc4
Committed: https://github.com/dart-lang/sdk/commit/8c4954492f0593f41d270691bb82c26d8509c894
Review URL: https://codereview.chromium.org/2205913003 .
Reverted: https://github.com/dart-lang/sdk/commit/5ebcd3cda0f34be580be1a8ed816849a82691427
2016-08-03 22:44:28 +02:00
Ryan Macnak
5ebcd3cda0
Revert "Better error-message when bind fails."
...
This reverts commit 8c4954492f .
This change broke the Android build.
Review URL: https://codereview.chromium.org/2201183004 .
2016-08-03 09:54:57 -07:00
Florian Loitsch
8c4954492f
Better error-message when bind fails.
...
See #26790 .
R=sgjesse@google.com
Committed: https://github.com/dart-lang/sdk/commit/34aed6a08b8547a985ac701cf3910a5f5450dd52
Review URL: https://codereview.chromium.org/2205913003 .
Reverted: https://github.com/dart-lang/sdk/commit/a1005bad7e249a5510b30683a5ca52b16baafbc4
2016-08-03 16:27:48 +02:00
Florian Loitsch
a1005bad7e
Revert "Better error-message when bind fails."
...
This reverts commit 34aed6a08b .
Review URL: https://codereview.chromium.org/2210523002 .
2016-08-03 15:47:15 +02:00
Florian Loitsch
34aed6a08b
Better error-message when bind fails.
...
See #26790 .
R=sgjesse@google.com
Review URL: https://codereview.chromium.org/2205913003 .
2016-08-03 15:29:41 +02:00
Zachary Anderson
ba550f1c43
Fixes NetworkInterface.list crash on Android
...
Previously, Socket::ListInterfaces failed to set the os_error out
parameter causing a crash in the caller. This change sets an error here.
I've also added NetworkInterface.listSupported, which returns false on
Android, and true everywhere else. ifaddrs.h continues not to exist in
the NDK, so in order to support NetworkInterface.list, we'd have to
reimplement it, or find a suitable reimplementation somewhere.
related #26329
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1916223003 .
2016-04-26 07:48:58 -07:00
Zachary Anderson
7308e58c3f
Really remove io support when dart:io is unsupported.
...
Previously we would compile in implementaitions of native calls for
IO functions that would never be used. This CL provides implementations
that throw a Dart exception if they're called by mistake. It also uses
a DART_IO_DISABLED preprocessor define to clean up the build files and
check that we're not including code we shouldn't.
R=iposva@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1839463002 .
2016-03-29 11:22:03 -07:00
Zachary Anderson
45661a7091
Cleanup in //runtime/bin
...
R=iposva@google.com
Review URL: https://codereview.chromium.org/1800863002 .
2016-03-16 10:01:00 -07:00
Zachary Anderson
c75a817ee0
Fixes some memory leaks in //runtime/bin
...
Also some style cleanups.
Decided to fix these leaks by using Dart_ScopeAllocate
instead of malloc and new. Leaks are noted in the CL.
I haven't finished looking over all the code in
//runtime/bin yet, but this CL was getting big.
Review URL: https://codereview.chromium.org/1781883002 .
2016-03-14 11:08:52 -07:00
Soren Gjesse
0415d9271d
Improve the encoding/decoding to/from system encoding on Windows
...
On Windows the dart:io SYSTEM_ENCODING is now also working with strings
which have null characters in them. Previously the string would be
terminated at the null character.
BUG=https://github.com/dart-lang/sdk/issues/23295
R=kustermann@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//1194883002 .
2015-06-24 10:36:05 +02:00
sgjesse@google.com
3fe2af43d1
Reafctor to use 'const RawAddr&' or 'RawAddr*' in the eventhandler code
...
Also pass the port as part of RawAddr instead of in a separate argument
when both addr and port are passed.
R=kustermann@google.com
BUG=
Review URL: https://codereview.chromium.org//910183003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43722 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 11:39:20 +00:00
sgjesse@google.com
7b7ac3620a
Add support to specify the source address for socket connect
...
BUG=http://dartbug.com/22253
R=kustermann@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//908873002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43638 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 11:56:51 +00:00
sgjesse@google.com
91e7a32eb5
Remove SetNonBlocking/SetBlocking methods from Socket and add missing close-on-exec
...
The methods SetNonBlocking/SetBlocking on Sockets where not implemented on Linux
and not used on Windwsm. Removed and call directly to FDUtils when needed.
In Socket::Accept setting close on exec was missing on OS X and Android.
R=kustermann@google.com
BUG=
Review URL: https://codereview.chromium.org//907883002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43627 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 07:29:36 +00:00
iposva@google.com
4884b3124c
- More missing headers on Windows.
...
Review URL: https://codereview.chromium.org//463373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39180 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 00:03:46 +00:00
iposva@google.com
22851d18da
- Fix vm/thread.h and bin/thread.h confusion.
...
Review URL: https://codereview.chromium.org//465133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39179 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 23:55:23 +00:00
ajohnsen@google.com
343ee141f2
Don't print errors to stderr in socket_*.
...
BUG=https://code.google.com/p/dart/issues/detail?id=20070
R=ricow@google.com
Review URL: https://codereview.chromium.org//426833004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38660 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 07:13:58 +00:00
ajohnsen@google.com
d481c8b61c
Start accepting incoming sockets earlier on Windows, to associate a at AcceptEx error to 'ServerSocket.bind'.
...
Note that I have not been able to reproduce the error, thus no test is added for this case.
BUG=http://code.google.com/p/dart/issues/detail?id=19815
R=whesse@google.com
Review URL: https://codereview.chromium.org//426613002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38606 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 11:36:35 +00:00
iposva@google.com
1d2085e773
- Fix truncation in Socket calls.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//312343002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37037 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-05 17:33:52 +00:00
ajohnsen@google.com
f5b0a17b19
Use ConnectEx on Windows, to do async connect of sockets.
...
BUG=https://code.google.com/p/dart/issues/detail?id=18154
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//264613002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35622 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-01 10:48:43 +00:00
ajohnsen@google.com
7d9d46dc4b
Remove the getaddrinfo mutex, but put mutex around winsock initialization.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//269623004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35617 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-01 08:32:51 +00:00
ajohnsen@google.com
19244f5dac
Don't use AI_V4MAPPED.
...
AI_V4MAPPED only effects when we are restricted to IPv6. That can only
happen if the user requests _only_ IPv6. Thus, don't map IPv4 addrs into
IPv6.
BUG=
R=zra@google.com
Review URL: https://codereview.chromium.org//257243002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35538 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-29 19:40:49 +00:00
ajohnsen@google.com
fffd6da770
Use AI_ADDRCONFIG on Windows as well.
...
BUG=http://code.google.com/p/dart/issues/detail?id=16742
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//246843005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35251 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 10:46:47 +00:00
ajohnsen@google.com
0c885fde33
Use mutex around getaddrinfo on windows, as it's not thread-safe.
...
BUG=https://code.google.com/p/dart/issues/detail?id=17237
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//200083002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33690 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-14 10:25:16 +00:00
sgjesse@google.com
1e3e88769f
Socket I/O statistics for Observatory
...
This is the first part of adding I/O statistics to the observatory.
R=ajohnsen@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org//163903002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33366 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-06 11:12:08 +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
sgjesse@google.com
7b70c2c267
Add UDP support to dart:io
...
Initial implementation of UDP support in dart:io
Added a RawDatagramSocket which gets the same events as a RawSocket
except that READ_CLOSED is never received.
The receive from a RawDatagramSocket returns a Datagram object where
the senders address and port is presten together with the data.
The send on a RawDatagramSocket takes data and the address and port of
the destination.
Extended the number of socket options to support UDP.
Added getting the socket options.
R=ajohnsen@google.com
BUG=http://dartbug.com/1975
Review URL: https://codereview.chromium.org//85993002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31098 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-12 15:45:25 +00:00
sgjesse@google.com
5ec3f666c0
Add the index information to network interface
...
R=ajohnsen@google.com
BUG=
Review URL: https://codereview.chromium.org//95183002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30776 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-29 11:18:30 +00:00
sgjesse@google.com
32e6279482
Update InternetAddress
...
Add InternetAddress constructor for numeric addresses. An
InternetAddress can now be constructed without using DNS resolving.
Add hash code calculated from the bytes of the address.
Add equality operator comparing the bytes of the address.
Added check for multicast addresses.
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//76383002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30449 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-20 10:01:22 +00:00
ajohnsen@google.com
e25f1d2c33
Fix Socket::remoteAddress on Windows to not include port number.
...
BUG=
Review URL: https://codereview.chromium.org//59073004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29907 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 13:56:18 +00:00
ajohnsen@google.com
57d8b90fe1
Rename remoteHost to remoteAddress on *Socket.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//59213003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29904 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 13:24:49 +00:00
ajohnsen@google.com
0420c6b8b7
Reuse thread when writing stdout/stderr on Windows.
...
BUG=https://code.google.com/p/dart/issues/detail?id=13541
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//25631005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28146 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 11:03:34 +00:00
ajohnsen@google.com
d11df78618
Make stdout and stderr async.
...
This required some minor changes to the Windows eventhandler, as we now spawn a new thread for writes (just like we do for reads).
BUG=https://code.google.com/p/dart/issues/detail?id=7218
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//23609060
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27811 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 11:47:53 +00:00
ajohnsen@google.com
38bae0af02
Add FileSystemWatcher class to dart:io.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//19263003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27048 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 12:43:08 +00:00
ajohnsen@google.com
7aa0222b5b
Avoid picking port 65535 for ServerSockets, when any is requested.
...
Some browsers block requests to 65535.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17842003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24471 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 15:12:56 +00:00
ajohnsen@google.com
015f2ee53c
Fix InternetAddress.resolve impl and test for Windows.
...
BUG=
Review URL: https://codereview.chromium.org//17601011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24396 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:40:10 +00:00
ajohnsen@google.com
3ad9779be6
Add reverse dns lookup as a method on InternetAddress.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17640008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24393 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:27:48 +00:00
ajohnsen@google.com
4624420914
Add NetworkAdaptor to dart:io.
...
NetworkAdaptor contains a static method, list, that will query the
underlaying system for active network adaptors.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//16514010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24267 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 07:58:48 +00:00