• Home
  • History
  • Annotate
  • only in /libcore/ojluni/src/main/java/sun/nio/
History log of /libcore/ojluni/src/main/java/sun/nio/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e31b37859051d3902e06e4ba384995df7188917f 02-Dec-2017 Hans Boehm <hboehm@google.com> Add reachabilityFence, ReachabilitySensitive

Add the @ReachabilitySensitive annotation itself, and use it
in libcore itself, where needed.

Import OpenJDK9+181's reachabilityFence, so that it can be used in
preference to the annotation where it makes sense. Java 9's
stopgap reachabilityFence implementation doesn't work for us,
so replace it with a different stopgap.

The libcore changes correct many situations in which finalizers
could previously run prematurely according to the JLS. Or they
would correct them if we had a real implementation for
@ReachabilitySensitive.

The ZipFile constructor could close the file before notifying the
CloseGuard that it was open.

Aside from the ZipFile change, there should be no functional
change, yet.

Note that the ExemptionMechanism.java fix is the same as upstream.

Conspicuously missing:

- Any code, e.g. in ART or D8, that actually looks for the annotation.
- Uses in frameworks code, where it's probably most critical.

Bug: 63934467
Bug: 70906684
Bug: 28342794
Test: Build & boot AOSP
Change-Id: I652f0625b39b2ba9ac901d4f63e6aa6cf3b74af5
h/DatagramChannelImpl.java
h/FileChannelImpl.java
h/SocketChannelImpl.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
s/LinuxWatchService.java
s/UnixSecureDirectoryStream.java
dd2c67a47dc742e19c6710ddd6e1b85f95dd1d1f 07-Dec-2017 Neil Fuller <nfuller@google.com> Verify OpenJDK 8u121: Various sun.nio classes

A collection of non-functional changes to reduce
unnecessary deltas with upstream and add change markers.

Several files will need a second pass - this contains
obvious differences. No functional changes.

Change markers complete:
ojluni/src/main/java/sun/nio/ch/AbstractPollArrayWrapper.java
ojluni/src/main/java/sun/nio/ch/AbstractPollSelectorImpl.java
ojluni/src/main/java/sun/nio/ch/DefaultAsynchronousChannelProvider.java
ojluni/src/main/java/sun/nio/ch/EPoll.java
ojluni/src/main/java/sun/nio/ch/EPollPort.java
ojluni/src/main/java/sun/nio/ch/FileDispatcherImpl.java
ojluni/src/main/java/sun/nio/ch/FileKey.java
ojluni/src/main/java/sun/nio/ch/Invoker.java
ojluni/src/main/java/sun/nio/ch/NativeThread.java
ojluni/src/main/java/sun/nio/ch/Net.java
ojluni/src/main/java/sun/nio/ch/PollArrayWrapper.java
ojluni/src/main/java/sun/nio/ch/SelectionKeyImpl.java
ojluni/src/main/java/sun/nio/ch/ServerSocketChannelImpl.java
ojluni/src/main/java/sun/nio/ch/SocketDispatcher.java
ojluni/src/main/java/sun/nio/ch/ThreadPool.java
ojluni/src/main/java/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java
ojluni/src/main/java/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
ojluni/src/main/java/sun/nio/cs/ThreadLocalCoders.java
ojluni/src/main/java/sun/nio/fs/LinuxNativeDispatcher.java
ojluni/src/main/java/sun/nio/fs/UnixCopyFile.java
ojluni/src/main/java/sun/nio/fs/UnixDirectoryStream.java
ojluni/src/main/java/sun/nio/fs/UnixFileSystemProvider.java
ojluni/src/main/java/sun/nio/fs/UnixNativeDispatcher.java
ojluni/src/main/java/sun/nio/fs/UnixSecureDirectoryStream.java

More to do:
ojluni/src/main/java/sun/nio/ch/DatagramChannelImpl.java
ojluni/src/main/java/sun/nio/ch/FileChannelImpl.java
ojluni/src/main/java/sun/nio/ch/SocketChannelImpl.java
ojluni/src/main/java/sun/nio/fs/LinuxWatchService.java

Bug: 35910877
Test: Build
Change-Id: Ie3453339ae3866c557998ca7af6c70fe611b70d4
h/AbstractPollArrayWrapper.java
h/AbstractPollSelectorImpl.java
h/DatagramChannelImpl.java
h/DefaultAsynchronousChannelProvider.java
h/EPoll.java
h/EPollPort.java
h/FileChannelImpl.java
h/FileDispatcherImpl.java
h/FileKey.java
h/Invoker.java
h/NativeThread.java
h/Net.java
h/PollArrayWrapper.java
h/SelectionKeyImpl.java
h/ServerSocketChannelImpl.java
h/SocketChannelImpl.java
h/SocketDispatcher.java
h/ThreadPool.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
s/ThreadLocalCoders.java
s/LinuxNativeDispatcher.java
s/LinuxWatchService.java
s/UnixCopyFile.java
s/UnixDirectoryStream.java
s/UnixFileSystemProvider.java
s/UnixNativeDispatcher.java
s/UnixSecureDirectoryStream.java
00494db3844238de691d75ca6fcdc794380871e5 18-Oct-2017 Victor Chang <vichang@google.com> Don't untag socket before preClose / close

Previously, xt_qtaguid never freed tags when the socket was closed, so
if we didn't untag sockets in userspace it would leak memory. See for
example b/5274621. That was fixed by the fix in b/36374484, so this
code is no longer necessary.

Behavior change
- Automatically untagging sockets on close() is incorrect, because
close() does not close the socket, only the filedescriptor, which might
be only one of the references to the socket. Thus, socket(); dup();
close results in the socket being untagged, even if the dupd socket is
still open.
- Additionally, untagging sockets automatically has undesirable
side-effects. For example, it makes it very difficult for a process to
create and tag a socket, and pass that socket to an app, without losing
the tag.

Workaround to keep old behavior
If an app needs to keep old behavior, the app should call
TrafficStats.untagSocket to remove the tag before sending it to another
process.

Bug: 67425668
Test: CtsLibcoreTestCases
Test: CtsAppSecurityHostTestCases -t android.appsecurity.cts.AppSecurityTests
Test: CtsIncidentHostTestCases -t
com.android.server.cts.NetstatsIncidentTest
Test: CtsOsTestCases -t android.os.cts.StrictModeTest
Test: CtsUsageStatsTestCases -t android.app.usage.cts.NetworkUsageStatsTest
Change-Id: Ic311e626a57dec5584c97c8899468a3c800e7ef0
h/DefaultSelectorProvider.java
8f133afd09028a9541b7c05e21886756c0391c7e 18-Oct-2017 Victor Chang <vichang@google.com> Revert "FileDispatcherImpl: Untag sockets before preClose."

This reverts commit 9666717e56a67817561d77b703f65dea286f55f6.

Previously, xt_qtaguid never freed tags when the socket was closed, so
if we didn't untag sockets in userspace it would leak memory. See for
example b/5274621. That was fixed by the change in b/36374484, so this
code is no longer necessary.

Behavior change
- Automatically untagging sockets on close() is incorrect, because
close() does not close the socket, only the filedescriptor, which might
be only one of the references to the socket. Thus, socket(); dup();
close results in the socket being untagged, even if the dupd socket is
still open.
- Additionally, untagging sockets automatically has undesirable
side-effects. For example, it makes it very difficult for a process to
create and tag a socket, and pass that socket to an app, without losing the tag.

Workaround to keep old behavior
If an app needs to keep old behavior, the app should call
TrafficStats.untagSocket to remove the tag before sending it to another
process.

Test: CtsLibcoreTestCases
Bug: 67425668
Change-Id: I0b0101b5ebc241741d6da707e67cae3f1d5805e8
h/DatagramDispatcher.java
h/FileDispatcherImpl.java
h/SocketDispatcher.java
b9a07e95fa3a4503fba51f127efe39544e3ee228 08-Jun-2017 Tobias Thierer <tobiast@google.com> Tweak Android-changed markers in some sun.nio files.

This CL tweaks changed sections to include upstream code in block comments.
This minimizes the diff to upstream, makes it easier for automated tools
to correctly guess the upstream revision (OpenJDK 8u121-b13) that they are
based on, and makes it easier to review CLs that integrate future upstream
changes.

This CL only changes comments, it doesn't include behavior changes.

Bug: 35910877
Test: Treehugger build succeeds
Change-Id: Id23409ab476118758690cce014a30f2bd8faaea6
h/DefaultSelectorProvider.java
s/LinuxFileSystemProvider.java
c40972e8e67e6919405a559c29ad6df2836c80af 05-May-2017 Tobias Thierer <tobiast@google.com> Add missing Android-removed markers to sun.nio.ch.IOUtil

Android removed upstream code that loads native libraries.

This CL adds the (commented-out) upstream code and corresponding
Android-removed markers.

Test: Treehugger
Bug: 35910877
Change-Id: Idab08013687d9a53f76e153b3f8a9696457bc240
h/IOUtil.java
9eca269fb2932fb9fd99b6e898600e7a21ade0e0 12-Apr-2017 Tobias Thierer <tobiast@google.com> Ensure all ojluni Android-changed comments occur in line comments.

This brings the comments closer to the style guide and allows
automated extraction of the comment body.

After this CL, every occurence of "Android-" in a ojluni .java file
is in a line that contains a match for the regexp pattern:

"// (BEGIN |END |)Android-(?:changed|added|removed|note)(?:(?:: )?(.*))$"

Most of the previous violations of this rule were block comments that
should have been line comments (per the style guide), but there were
also some other occurence such as a reference to some other
"(Android-removed)" parts in prose, which was changed to
"(Android removed)".

There was a mix of:
Android-removed: this debugging mechanism is not used in Android.
Android-removed: this debugging mechanism is not used in Android
Android-removed: this debugging mechanism is not supported in Android.

comments that were all normalized to:

// Android-removed: this debugging mechanism is not used in Android.

Test: Treehugger build succeeds
Test: Script (unsubmitted) does not find any occurences of "Android-"
in ojluni .java files that do not match the above regex Pattern.
Bug: 35841464

Change-Id: Ib35bb1215d1fc29e82ba0a12f32c86423c737173
h/DatagramSocketAdaptor.java
h/SocketAdaptor.java
21e6175e256d360d8f87d4bf24c9da9501a1550d 04-Apr-2017 Narayan Kamath <narayan@google.com> java.nio.file: Remove support for FileStore information.

The API contract allows us to throw a SecurityException, so do
that unconditionally. Most processes on Android do not have
sufficient privileges to read mount information or to stat
mountpoints. This precludes us from implementing this API sensibly.

Also, make it clear that ACL / DOS and UserDefined file attribute
views are not supported. They require xattr support that may not
exist on our file systems. The tests were passing because they
silently bailed out.

Also, explicitly remove support for Dos / User and Acl based
FileAttributeViews. They are not supported, and were being dynamically
disabled at run time.

This removal is a step forward, except for an unfortunate wart in
the API; for some reason supportsFileAttributeView is a method in
the FileStore class, but getFileAttributeView is a method on the
FileSystemProvider class. This leaves callers without any method
to detect what AttributeViews a given file system provider supports,
but that should largely be irrelevant for most Android callers.

Bug: 36491936
Test: run cts -m CtsLibcoreOjTestCases, CtsLibcoreTestCases

Change-Id: I55cd191c52d15213c9f1d162d8f231733628ab75
s/LinuxFileSystemProvider.java
s/UnixFileSystemProvider.java
62098900d7201b01db7905a8ff1debea4b639a30 16-Mar-2017 Yi Kong <yikong@google.com> Add getFileDescriptor$() method for testing

This is similar to {,Datagram}Socket's getFileDescriptor$() method.

Also add "Android-added" comment for other occurances of such method.

Test: Build
Change-Id: I1a4330306f73ed1676751bcce7bd3f6e887b66c1
h/DatagramSocketAdaptor.java
h/SocketAdaptor.java
4087011821a84f2a4e2b827f304bb00481d3d139 15-Mar-2017 Tobias Thierer <tobiast@google.com> Canonicalize additional Android-changed comments.

Some "Android-changed" lines in ojluni were still part of
block comments, which is inconsisten with the style guide.
This CL fixes these to be more in line with the style guide.

Bug: 35841464
Test: treehugger build succceeds

Change-Id: I4fa630867b3a9d6604fa90d751a52063ec69778c
h/FileChannelImpl.java
6975f84c2ed72e1e26d20190b6f318718c849008 01-Mar-2017 Tobias Thierer <tobiast@google.com> Make Android patch docs in ojluni more consistent with style guide

This CL consists of an automated and a manual part (originally
reviewed as separate CLs, then squashed together before submitting
in order to minimize the number of times each Android-changed line
is touch, since that makes future git archaeology on these simpler).

Automated part: Run the following command (performs regex replacements):

find ojluni -name \*\.java | xargs sed -i \
-e 's/Android[- ]changed/Android-changed/ig' \
-e 's/Android-changed :/Android-changed:/g' \
-e 's/Android-changed \(BEGIN\|END\)/\1 Android-changed/g' \
-e 's/Android-changed - /Android-changed: /g' \
-e 's/Android[- ]removed/Android-removed/ig' \
-e 's/Android-removed :/Android-removed:/g' \
-e 's/Android-removed \(BEGIN\|END\)/\1 Android-removed/g' \
-e 's/Android-removed - /Android-removed: /g' \
-e 's/Android[- ]added/Android-added/ig' \
-e 's/Android-added :/Android-added:/g' \
-e 's/Android-added \(BEGIN\|END\)/\1 Android-added/g' \
-e 's/Android-added - /Android-added: /g' \
-e 's/----- \(BEGIN\|END\) android\( -----\)\?/\1 Android-changed/g' \
-e 's/\/\* \(BEGIN\|END\) Android-changed \*\//\/\/ \1 Android-changed/g'

Manual part: Move BEGIN Android-* lines out of block comments

Some Android-{changed,removed,added} lines occurred inside block comments.
This CL targets places in ojluni that contained the String "* BEGIN Android-"

Changes made by this CL include:

- Move the "BEGIN Android-" line into a line comment (the style guide
mandates that "Android-" lines are always in line comments). In many
cases, that line comment is immediately followed by a block comment
holding commented-out upstream code.
- Add corresponding "// END Android-" line comments, where missing.
- Drop documented import changes altogether. These create noise for
little benefit:
(1.) Most import problems will be found at compile time
(2.) They generally correspond to documented changes elsewhere in
the file.
- In most cases, the phrasing of comments and the decision whether to
keep commented out upstream code was not changed by this CL.
- Some additional tweaks were made in line with the style guide.

No attempt was made to:

- Verify that commented-out upstream code actually matches the
current upstream.
- Make any fixes (eg. to comments) that would have required
git archaeology (looking up historic commits).

Bug: 35841464
Test: make droid cts update-api

Change-Id: Ibc60979cb6061cfb0e9c7096cc9dcab30ddfa733
h/ChannelInputStream.java
h/DatagramChannelImpl.java
h/FileChannelImpl.java
h/Net.java
s/StreamDecoder.java
ce821390b935d8005f1124002d839b2e0d88368a 21-Feb-2017 Narayan Kamath <narayan@google.com> DatagramChannelImpl: Add missing null check in finalizer.

Final fields that have inline initialization can be null in the
finalizer in the case where Object.<init> completes sucessfully but
DatagramChannelImpl.<init> does not.

Bug: 35609098
Test: make
Change-Id: I0a538c6bf30693ff79fef57f2db7f9320d63cfc3
h/DatagramChannelImpl.java
5ba24bd205f9c8ed2179a0a32859a529a795a4c3 29-Nov-2016 Shubham Ajmera <shubhamajmera@google.com> Add CloseGuard checks in few classes

Add CloseGuard checks in few classes
DatagramChannelImpl: #implCloseSelectableChannel releases file descriptor.
FileChannelImpl: Releases file locks held and closes file descriptor.
UnixAsynchronousServerSocketChannelImpl: Releases file descriptor object.
UnixAsynchronousSocketChannelImpl: Releases file descriptor object.
LinuxWatchService.Poller: Frees unmanaged memory and releases file descriptor.

Also, added tests for closeguard support in the classes.

Test: cts-tradefed run cts -m CtsLibcoreTestCases
Change-Id: If75b09d40f399c1c97612675580b800ef07ccaa7
h/DatagramChannelImpl.java
h/FileChannelImpl.java
h/SocketChannelImpl.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
s/LinuxWatchService.java
0dab79a8b1f23bac4d05656e4399fe7bc14d0cf0 01-Feb-2017 Shubham Ajmera <shubhamajmera@google.com> Remove unused files from sun.nio.ch package

ojluni/src/main/java/sun/nio/ch/EPollArrayWrapper.java
ojluni/src/main/java/sun/nio/ch/EPollSelectorImpl.java
ojluni/src/main/java/sun/nio/ch/EPollSelectorProvider.java
ojluni/src/main/java/sun/nio/ch/KQueue.java
ojluni/src/main/java/sun/nio/ch/KQueuePort.java
ojluni/src/main/java/sun/nio/ch/Reflect.java

Test: make successful
Change-Id: Ib350167f24c302ec027c15e68616bebe1e3e52a6
h/EPollArrayWrapper.java
h/EPollSelectorImpl.java
h/EPollSelectorProvider.java
h/KQueue.java
h/KQueuePort.java
h/Reflect.java
8c3df05684565cf90b5adcb6a065861464fa729d 24-Oct-2016 Shubham Ajmera <shubhamajmera@google.com> Add unit tests for sun.nio.fs.UnixSecureDirectoryStream

Also, some constants(O_NOFOLLOW) in UnixConstants were not correct for
arm64 and arm. They were generated on an x86 system. Therefore, instead of
maintaining a separate set of UnixConstants, the values are now taken
from android.system.OsConstants. S_IAMB are access mode bits, therefore,
calculated by taking OR of all the read, write and execute permissions
bits for owner, group and other. AT_SYMLINK_NOFOLLOW is used by fstatat
when a symbolic link is passed. With AT_SYMLINK_NOLLOW, it doesn't
dereference and instead return information about the link, and with it,
returns the information about the target. There is no suitable alternative
for the flag in android.system.OsConstant, therefore, left untouched.
With AT_REMOVEDIR, unlinkat works equivalent to rmdir. Again there is no
suitable alternative for the flag in android.system.OsConstant,
therefore, left unchanged.

Bug: 29031119
Bug: 32203242
Test: cts-tradefed run cts -m CtsLibcoreTestCases -t \
libcore.java.nio.file.DefaultSecureDirectoryStreamTest
Change-Id: Ie7f8ce46d19e3549cc69dba4cb2a9717df1cca18
s/UnixConstants.java
573d9910b2a832f4cb36f528bb768c587e663cf3 24-Oct-2016 Shubham Ajmera <shubhamajmera@google.com> Add CloseGuard support for UnixSecureDirectoryStream & UnixDiretoryStream

Test: make successful.
Change-Id: I53095cd454507dda3c2af793c4386158963f48ce
s/UnixDirectoryStream.java
s/UnixSecureDirectoryStream.java
a5aad954b0f024ddd76dede5df2aead2e11a5384 14-Oct-2016 Shubham Ajmera <shubhamajmera@google.com> Add tests for java.nio.file.FileSystem & java.nio.file.Paths

Also, removed a part of JavaDoc intended for Windows platform and
removed explicit mention of Unix Platform at couple of other places.

LinuxFileSystem.getMountEntries was fetching mount entry data from
/etc/mtab which is not available on Android, so changed it to /proc/mounts.

Test: cts-tradefed run cts -m CtsLibcoreTestCases -t \
libcore.java.nio.file.LinuxFileSystemTest
Test: cts-tradefed run cts -m CtsLibcoreTestCases -t \
libcore.java.nio.file.PathsTest
Bug: 27331465
Bug: 29030792
Change-Id: Ib4c5297138f66604d13a641756d603c9fa82e8f3
s/LinuxFileSystem.java
1a91deb15b7cc44851ebe9efbd935fc92b65a8db 19-Aug-2016 Shubham Ajmera <shubhamajmera@google.com> Port OpenJDK8 changes to sun.nio.ch package

Changes:
- Added SuppressWarnings annotation for StreamDecoder#read0
- Used generics for ThreadLocal cache in ThreadLocalCoders.
- Updated OpenJDK licence.

Test: run cts -p android.core.tests.libcore.package.libcore
run cts -p android.core.tests.libcore.package.harmony_java_nio

Bug: 30964930
Change-Id: I871a3e4f3dc7b6cd05ff19104863274872a172b6
s/StreamDecoder.java
s/ThreadLocalCoders.java
10912df6645c03163c2afa84e8c243f433e1b33a 04-Aug-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove InheritedChannel

Android never supported inheritedChannel functionality.
Due to recent changes, stdin/out may be an unix socket.
This was causing System#inheritedChannel to not return
null early and crash when it fails to get unix socket
address.

Test: libcore.java.lang.OldSystemTest
Bug: 30659051
Change-Id: I8bb61defdf6ae765a997fc12eaf6ed066296c0c6
h/EPollSelectorProvider.java
h/InheritedChannel.java
h/PollSelectorProvider.java
a5f784a9d9299d9a33eff23a2047f0d1ea358901 11-Jul-2016 Shubham Ajmera <shubhamajmera@google.com> Merge "Port openJdk8 changes to sun.nio.ch package"
9a3a6b680414163dfb6e9e0db9af570dd45e2339 11-Jul-2016 Shubham Ajmera <shubhamajmera@google.com> Merge "Port openJDK8 java.nio.channels changes"
519adb2f61bb2bfa6cc993b1ca15cf7022b96697 29-Jun-2016 Shubham Ajmera <shubhamajmera@google.com> Port openJdk8 changes to sun.nio.ch package

- Moved poll event masks from AbstractPollArrayWrapper to Net.
- Removed BsdAsynchronousChannelProvider as it was not being used.
- IP_TOS can now be set for IPv6.

Change-Id: Ia17630280822fabc72f16c68891501ded73dc81c
h/AbstractPollArrayWrapper.java
h/AbstractPollSelectorImpl.java
h/AsynchronousServerSocketChannelImpl.java
h/AsynchronousSocketChannelImpl.java
h/BsdAsynchronousChannelProvider.java
h/ChannelInputStream.java
h/DatagramChannelImpl.java
h/DatagramDispatcher.java
h/DatagramSocketAdaptor.java
h/DefaultAsynchronousChannelProvider.java
h/DefaultSelectorProvider.java
h/EPoll.java
h/EPollArrayWrapper.java
h/EPollPort.java
h/EPollSelectorImpl.java
h/ExtendedSocketOption.java
h/FileChannelImpl.java
h/FileDispatcher.java
h/FileDispatcherImpl.java
h/IOStatus.java
h/IOUtil.java
h/InheritedChannel.java
h/Invoker.java
h/KQueue.java
h/KQueuePort.java
h/NativeDispatcher.java
h/NativeThread.java
h/NativeThreadSet.java
h/Net.java
h/PollArrayWrapper.java
h/Port.java
h/Reflect.java
h/SelChImpl.java
h/SelectionKeyImpl.java
h/SelectorImpl.java
h/ServerSocketAdaptor.java
h/ServerSocketChannelImpl.java
h/SinkChannelImpl.java
h/SocketAdaptor.java
h/SocketChannelImpl.java
h/SocketOptionRegistry.java
h/SourceChannelImpl.java
h/ThreadPool.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
h/Util.java
8f1c968f3baa87134cce8bda17876357ee047cc2 08-Jul-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Import upstream change: (dc) Use DatagramChannel.receive() instead of read() in connect()"
49965c1dc9da104344f4893a05e45795a5740d20 30-Jun-2016 Ganesh Mahendran <opensource.ganesh@gmail.com> remove x attribute of java file

java file does not need x attribute. This patch removes it.

Change-Id: I2a7170d99f4bee7a7b819621c84dd197ded37fa2
Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
yteBuffered.java
h/AbstractPollArrayWrapper.java
h/AbstractPollSelectorImpl.java
h/AllocatedNativeObject.java
h/AsynchronousChannelGroupImpl.java
h/AsynchronousServerSocketChannelImpl.java
h/AsynchronousSocketChannelImpl.java
h/BsdAsynchronousChannelProvider.java
h/Cancellable.java
h/ChannelInputStream.java
h/CompletedFuture.java
h/DatagramChannelImpl.java
h/DatagramDispatcher.java
h/DatagramSocketAdaptor.java
h/DefaultAsynchronousChannelProvider.java
h/DefaultSelectorProvider.java
h/DirectBuffer.java
h/EPoll.java
h/EPollArrayWrapper.java
h/EPollPort.java
h/EPollSelectorImpl.java
h/EPollSelectorProvider.java
h/ExtendedSocketOption.java
h/FileChannelImpl.java
h/FileDispatcher.java
h/FileDispatcherImpl.java
h/FileKey.java
h/FileLockImpl.java
h/FileLockTable.java
h/Groupable.java
h/IOStatus.java
h/IOUtil.java
h/IOVecWrapper.java
h/InheritedChannel.java
h/Interruptible.java
h/Invoker.java
h/KQueue.java
h/KQueuePort.java
h/LinuxAsynchronousChannelProvider.java
h/MembershipKeyImpl.java
h/MembershipRegistry.java
h/NativeDispatcher.java
h/NativeObject.java
h/NativeThread.java
h/NativeThreadSet.java
h/Net.java
h/OptionKey.java
h/PendingFuture.java
h/PipeImpl.java
h/PollArrayWrapper.java
h/PollSelectorImpl.java
h/PollSelectorProvider.java
h/Port.java
h/Reflect.java
h/SelChImpl.java
h/SelectionKeyImpl.java
h/SelectorImpl.java
h/SelectorProviderImpl.java
h/ServerSocketAdaptor.java
h/ServerSocketChannelImpl.java
h/SinkChannelImpl.java
h/SocketAdaptor.java
h/SocketChannelImpl.java
h/SocketDispatcher.java
h/SourceChannelImpl.java
h/ThreadPool.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
h/Util.java
s/ArrayDecoder.java
s/ArrayEncoder.java
s/HistoricallyNamedCharset.java
s/StreamDecoder.java
s/StreamEncoder.java
s/ThreadLocalCoders.java
8b9413f7171bd5193be546cd3a2bc9672bcf725d 04-Jul-2016 Yi Kong <yikong@google.com> Import upstream change: (dc) Use DatagramChannel.receive() instead of read() in connect()

Upstream change:

8053963: (dc) Use DatagramChannel.receive() instead of read() in connect()
Reviewed-by: chegar, alanb

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/eaaa9a04b9fd

Bug: 29067535
Test: Passes CTS java.net tests
Change-Id: I39dc432e4192640eaa0a7706f2d493292f344c15
h/DatagramChannelImpl.java
46805d66f32e857c885434b4fa8cb6b32dcc4bf7 23-Jun-2016 Shubham Ajmera <shubhamajmera@google.com> Port openJDK8 java.nio.channels changes

Adds an abstract method - getLocalAddress in AsynchronousServerSocketChannel,
AsynchronousSocketChannel, DatagramChannel, ServerSocketChannel,
SocketChannel which overrides NetworkChannel#getLocalAddress. Now the returned
address will not be dependent on system property(java.net.revealLocalAddress).

Other changes include minor JavaDocs updates.

Change-Id: I16313df5afe772cbb3945312fed88ee9efc78f4b
h/Net.java
h/ServerSocketChannelImpl.java
e573e88e89daf5efb323719c54117c5a423eb245 24-Jun-2016 Yi Kong <yikong@google.com> Import upstream change: Support Solaris SO_FLOW_SLA socket option

Upstream Change:

8032808: Support Solaris SO_FLOW_SLA socket option
Reviewed-by: alanb, chegar

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/7f04532ee859

The change has no effect for Linux/Android, however we keep it to
minimize local diff.

Bug: 29067535
Change-Id: I3748377ef382545424a6af720fc97d204f677d09
h/AsynchronousSocketChannelImpl.java
h/DatagramChannelImpl.java
h/Net.java
h/SocketChannelImpl.java
3b067c78c7bec52972133f9e5fd6cae967596290 23-Jun-2016 Sergio Giro <sgiro@google.com> ojluni: tidy up ojluni files

Deleted files that are not being compiled

Added script to check that the files under ojluni/src/main/java
are the same as mentioned in the mk file.

Test: make

Bug: 29631070

Change-Id: Id1a62f7fbc52569ba5c8287571ae325d989bb5ad
h/DevPollArrayWrapper.java
h/DevPollSelectorImpl.java
h/DevPollSelectorProvider.java
6031a510d88327487d4a22bdfef0c6ba17a7b2a6 21-Jun-2016 Yi Kong <yikong@google.com> Import upstream change: Wrap sockets more thoroughly

Upstream change:

8039509: Wrap sockets more thoroughly
Reviewed-by: chegar, alanb

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/0798607dd425

Bug: 29067535
Change-Id: I1ad56e7d2ed6f47b7e558d3e9af7f63f2eab2e98
h/DatagramChannelImpl.java
e6bac4bf9c85c2454ce22c91da6c654552c268e0 20-May-2016 Shubham Ajmera <shubhamajmera@google.com> Add OpenJDK 8 java.nio.file package

Based on openJdk 8u60 except java.nio.FileTime. JDK8 FileTime is
dependent on java.time package which is yet to be added, therefore, it
is taken from openJdk 7u40.

Bug: 27331465
Change-Id: If6969ad38edb1e160f2918bb40c94579a43f0346
h/AsynchronousFileChannelImpl.java
h/FileLockImpl.java
h/SimpleAsynchronousFileChannelImpl.java
s/AbstractBasicFileAttributeView.java
s/AbstractFileSystemProvider.java
s/AbstractFileTypeDetector.java
s/AbstractPath.java
s/AbstractPoller.java
s/AbstractUserDefinedFileAttributeView.java
s/AbstractWatchKey.java
s/AbstractWatchService.java
s/BasicFileAttributesHolder.java
s/Cancellable.java
s/DefaultFileSystemProvider.java
s/DefaultFileTypeDetector.java
s/DynamicFileAttributeView.java
s/FileOwnerAttributeViewImpl.java
s/Globs.java
s/LinuxDosFileAttributeView.java
s/LinuxFileStore.java
s/LinuxFileSystem.java
s/LinuxFileSystemProvider.java
s/LinuxNativeDispatcher.java
s/LinuxUserDefinedFileAttributeView.java
s/LinuxWatchService.java
s/MimeTypesFileTypeDetector.java
s/NativeBuffer.java
s/NativeBuffers.java
s/PollingWatchService.java
s/UnixChannelFactory.java
s/UnixConstants.java
s/UnixCopyFile.java
s/UnixDirectoryStream.java
s/UnixException.java
s/UnixFileAttributeViews.java
s/UnixFileAttributes.java
s/UnixFileKey.java
s/UnixFileModeAttribute.java
s/UnixFileStore.java
s/UnixFileStoreAttributes.java
s/UnixFileSystem.java
s/UnixFileSystemProvider.java
s/UnixMountEntry.java
s/UnixNativeDispatcher.java
s/UnixPath.java
s/UnixSecureDirectoryStream.java
s/UnixUriUtils.java
s/UnixUserPrincipals.java
s/Util.java
984c459d7073449440e5a7237e6c6059e00f8f76 27-May-2016 Narayan Kamath <narayan@google.com> FileDispatcherImpl: Untag sockets before preClose.

We shouldn't close them after preClose because the descriptor
will then describe a different file (/dev/null).

bug: 28994821

Change-Id: I49726a8a3c55f268b09f96567901b00a8411afe1
h/DatagramDispatcher.java
h/FileDispatcherImpl.java
h/SocketDispatcher.java
173e4cf05284f4f96b0c21976186edfc949559cd 25-May-2016 Narayan Kamath <narayan@google.com> Selector: Use poll based selector instead of an epoll based selector.

The OpenJDK epoll based selector suffers from a serious bug where it
can never successfully deregister keys from closed channels.

The root cause of this bug is the sequence of operations that occur when
a channel that's registered with a selector is closed :

(0) Application code calls Channel.close().

(1) The channel is "preClosed" - We dup2(2) /dev/null into the channel's
file descriptor and the channel is marked as closed at the Java level.

(2) All keys associated with the channel are cancelled. Cancels are
lazy, which means that the Selectors involved won't necessarily
deregister these keys until an ongoing call to select() (if any) returns
or until the next call to select() on that selector.

(3) Once all selectors associated with the channel deregister these
cancelled keys, the channel FD is properly closed (via close(2)). Note
that an arbitrary length of time might elapse between Step 0 and this step.
This isn't a resource leak because the channel's FD is now a reference
to "/dev/null".

THE PROBLEM :
-------------
The default Selector implementation on Linux 2.6 and higher uses epoll(7).
epoll can scale better than poll(2) because a lot of the state related
to the interest set (the set of descriptors we're polling on) is
maintained by the kernel. One of the side-effects of this design is that
callers must call into the kernel to make changes to the interest set
via epoll_ctl(7), for eg., by using EPOLL_CTL_ADD to add descriptors or
EPOLL_CTL_DEL to remove descriptors from the interest set. A call to
epoll_ctl with op = EPOLL_CTL_DEL is made when the selector attempts to
deregister an FD associated with a channel from the interest set (see
Step 2, above). These calls will *always fail* because the channel has
been preClosed (see Step 1). They fail because the kernel uses its own
internal file structure to maintain state, and rejects the command
because the descriptor we're passing in describes a different file
(/dev/null) that isn't selectable and isn't registered with the epoll
instance.

This is an issue in upstream OpenJDK as well and various select
implementations (such as netty) have hacks to work around it. Outside
of Android, things will work OK in most cases because the kernel has its
own internal cleanup logic to deregister files from epoll instances
whenever the last *non epoll* reference to the file has been closed -
and usually this happens at the point at which the dup2(2) from Step 1
is called. However, on Android, sockets tagged with the SocketTagger
will never hit this code path because the socket tagging implementation
(qtaguid) keeps a reference to the internal file until the socket
has been untagged. In cases where sockets are closed without being
untagged, the tagger keeps a reference to it until the process dies.

THE SOLUTION :
--------------
We switch over to using poll(2) instead of epoll(7). One of the
advantages of poll(2) is that there's less state maintained by the
kernel. We don't need to make a syscall (analogous to epoll_ctl)
whenever we want to remove an FD from the interest set; we merely
remove it from the list of FDs passed in the next time we call
through to poll. Poll is also slightly more efficient and less
overhead to set up when the number of FDs being polled is small
(which is the common case on Android).

We also need to make sure that all tagged sockets are untagged before
they're preclosed at the platform level. However, there's nothing we
can do about applications that abuse public api (android.net.TrafficStats).

ALTERNATE APPROACHES :
----------------------
For completeness, I'm listing a couple of other approaches that were
considered but discarded.

- Removing preClose: This has the disadvantage of increasing the amount
of time (Delta between Step 0 and Step 3) a channel's descriptor is
kept alive. This also opens up races in the rare case where a
closed FD number is reused on a different thread while we have reads
pending.

- A Synchronous call to EPOLL_CTL_DEL when a channel is removed: This is a
non-starter because of the specified order of events in
AbstractSelectableChannel; implCloseSelectableChannel must be called
before all associated keys are cancelled.

bug: 28318596

(partially cherry picked from commit 4585ee7a9ef27260cb2e2b54bb18bc68861d5584)

This version of the change preserves the original EPoll classes because
they are used for asynchronous channels.

Change-Id: I61baf5b2403c7e793c167d99d46b28bee93f9ffc
h/DefaultSelectorProvider.java
4ef72d32afd6f6b81306b2664a6f3f30f6103ebf 05-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move more clinit code to registration functions, part 3

Moved clinit code that fetches field/method ids
to JNI registration funcitons. This will allow to
compile-time initialize these classes.

Removed dead code in DefaultProxySelector.(java|c) that
was never called.

This is last change, remaining classes have either
dependencies that we can't work around, or required
change would make their code less maintainable.

Bug: 28153851
Change-Id: I9ef9a3c07d5cba9d4608110d94b55aada265e68f
h/EPollArrayWrapper.java
h/FileKey.java
h/NativeThread.java
h/Net.java
f9d2599c4341d07938392d0d3f23a302755d4f93 05-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move more clinit code to registration functions

Part 2, attempt 2. Moving the java.net packages
clinit code in previous attempt caused failure
in art test 119-noimage-patchoat. I'm yet to
figure out the root cause of the failure.

Moved clinit code that fetches field/method ids
to JNI registration funcitons. This will allow to
compile-time initialize these classes.

Removed sun.nio.ch.Util#load() method that
was preventing many sun.nio.ch.* classes from
being compile-time initialized.

Bug: 28153851
Change-Id: I5443e5a60a3bf0420fdfec5b91155cef611f8c3d
h/AbstractPollSelectorImpl.java
h/DatagramChannelImpl.java
h/DatagramDispatcher.java
h/DevPollSelectorImpl.java
h/EPoll.java
h/EPollPort.java
h/EPollSelectorImpl.java
h/FileChannelImpl.java
h/FileDispatcherImpl.java
h/IOUtil.java
h/InheritedChannel.java
h/KQueue.java
h/KQueuePort.java
h/NativeThread.java
h/Net.java
h/ServerSocketChannelImpl.java
h/SinkChannelImpl.java
h/SocketChannelImpl.java
h/SourceChannelImpl.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
h/Util.java
28a7080264c820a9f54f4de84c83b0ddb1701dcb 05-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Revert "Move more clinit code to registration functions"

This reverts commit 607fcf911f63035e238accb21eb4648e9a0d2b8f.

This cl breaks art 119-noimage-patchoat test.

Change-Id: I9dccfeed4c1a510ddf45aab55ddc2d04d45fe009
h/AbstractPollSelectorImpl.java
h/DatagramChannelImpl.java
h/DatagramDispatcher.java
h/DevPollSelectorImpl.java
h/EPoll.java
h/EPollPort.java
h/EPollSelectorImpl.java
h/FileChannelImpl.java
h/FileDispatcherImpl.java
h/IOUtil.java
h/InheritedChannel.java
h/KQueue.java
h/KQueuePort.java
h/NativeThread.java
h/Net.java
h/ServerSocketChannelImpl.java
h/SinkChannelImpl.java
h/SocketChannelImpl.java
h/SourceChannelImpl.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
h/Util.java
607fcf911f63035e238accb21eb4648e9a0d2b8f 03-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move more clinit code to registration functions

Moved clinit code that fetches field/method ids
to JNI registration funcitons. This will allow to
compile-time initialize these classes.

Moved more classes in java.net.* and java.io.*
packages.

Removed sun.nio.ch.Util#load() method that
was preventing many sun.nio.ch.* classes from
being compile-time initialized.

More clinit code moving changes will follow.

Bug: 28153851
Change-Id: I661bea4d04470366ea589a9308cb2767000c687c
h/AbstractPollSelectorImpl.java
h/DatagramChannelImpl.java
h/DatagramDispatcher.java
h/DevPollSelectorImpl.java
h/EPoll.java
h/EPollPort.java
h/EPollSelectorImpl.java
h/FileChannelImpl.java
h/FileDispatcherImpl.java
h/IOUtil.java
h/InheritedChannel.java
h/KQueue.java
h/KQueuePort.java
h/NativeThread.java
h/Net.java
h/ServerSocketChannelImpl.java
h/SinkChannelImpl.java
h/SocketChannelImpl.java
h/SourceChannelImpl.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
h/Util.java
e318a0eaa02b186f9f135016e95a6282fe9a83cb 08-Apr-2016 Shubham Ajmera <shubhamajmera@google.com> Revert "Remove java.nio.channels.* classes without test coverage."

This reverts commit 624c527fb97947c4f8333f2b27c9a9306e29cd1c.

Bug: 27214236
(cherry-picked from commit b6aab19f3e925bec2f48296e9a5e906d05d96466)
Change-Id: I72f008ff427712261f604e55572a7b483d66c4f8
h/AsynchronousChannelGroupImpl.java
h/AsynchronousServerSocketChannelImpl.java
h/AsynchronousSocketChannelImpl.java
h/BsdAsynchronousChannelProvider.java
h/Cancellable.java
h/DatagramChannelImpl.java
h/DefaultAsynchronousChannelProvider.java
h/EPollPort.java
h/Groupable.java
h/Invoker.java
h/KQueue.java
h/KQueuePort.java
h/LinuxAsynchronousChannelProvider.java
h/MembershipKeyImpl.java
h/MembershipRegistry.java
h/PendingFuture.java
h/Port.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
8dbf50ac393612addff9296142df0d42a920102e 19-Apr-2016 Narayan Kamath <narayan@google.com> Tidy up uses of Integer.valueOf.

Use parseInt when the result is assigned to an int. Allocates fewer
objects.

bug: 28078871

(cherry picked from commit a4db66765c8f9bb482d348830b562a54ac28bb5c)

Change-Id: I1e612dea34347d0ccf2bc47ca6c7219fd51a42a9
h/EPollSelectorImpl.java
5e7b572c2b494ab86ddd2baca3883a40a6064c1e 29-Feb-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix #close() for FileChannel created from FileDescriptor.

Android io streams/channels created from a FileDescriptor doesn't
own it. OpenJdk operated under different assumption. FileChannel#close()
tries to do a preClose (dup2 using unusable file descripto) on
FileDescriptor regardless of it's origin. preClose seems to exists
to prevent the use of FD in case where FD value is recycled right after
use. This was never an issue on android, and was removed from some openJdk
classes.

Bug: 27351214
Change-Id: Ibacb192abc37870c74a2500d65b94d68f9c2318e
h/FileChannelImpl.java
ae2e19f0088a92c7a2a24385a6383ba7749413d3 09-Feb-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove java.nio.channels.* classes without test coverage.

Removed classes come from openJdk 1.7 and were never
implemented before. We lack a testing suite to verify that
they are working correctly. Those clasess might by
re-added in further releases

Bug: 27117463
Change-Id: I0ebd8e46c31992f7db158a6abaaeb2180f36f1cb
h/AsynchronousChannelGroupImpl.java
h/AsynchronousServerSocketChannelImpl.java
h/AsynchronousSocketChannelImpl.java
h/BsdAsynchronousChannelProvider.java
h/Cancellable.java
h/DatagramChannelImpl.java
h/DefaultAsynchronousChannelProvider.java
h/EPollPort.java
h/Groupable.java
h/Invoker.java
h/KQueue.java
h/KQueuePort.java
h/LinuxAsynchronousChannelProvider.java
h/MembershipKeyImpl.java
h/MembershipRegistry.java
h/PendingFuture.java
h/Port.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
1cb7758226b1bd3c8f39d9adb9068b02a18fcc7c 03-Feb-2016 Kenny Root <kroot@google.com> Add hack to make sure Socket#impl field is not null

Conscrypt's compat code inspects the "impl" field of Socket and expects
it to be non-null. However, SocketChannel creates an adaptor that sets
the impl field to non-null. This can't be fixed immediately, so put this
in to maintain the old behavior.

Bug: 25857624
Change-Id: I2d79a6d9a77d9102203cfb43df09d70aff99ffe3
h/FileDescriptorHolderSocketImpl.java
h/SocketAdaptor.java
c87bc620b0986cdc9114434e063258c12bb32285 01-Feb-2016 Narayan Kamath <narayan@google.com> Revert "Revert "Remove $ from $ suffixed Unsafe functions.""

This reverts commit b670ac308063c466f4d35e775d995cef553c63a1.
h/EPoll.java
h/KQueue.java
h/NativeObject.java
h/Util.java
b670ac308063c466f4d35e775d995cef553c63a1 01-Feb-2016 Narayan Kamath <narayan@google.com> Revert "Remove $ from $ suffixed Unsafe functions."

This reverts commit aa517a356a38b8cd6764667e1edd735aaf5978e9.

Change-Id: I53fdff0376b6bb52be5d61a79e1e8327473d565c
h/EPoll.java
h/KQueue.java
h/NativeObject.java
h/Util.java
aa517a356a38b8cd6764667e1edd735aaf5978e9 22-Jan-2016 Narayan Kamath <narayan@google.com> Remove $ from $ suffixed Unsafe functions.

There's no good reason for their addition.

Change-Id: I7a6af5adcc83cc28330168974efa232274b41b0a
h/EPoll.java
h/KQueue.java
h/NativeObject.java
h/Util.java
e0c43b0b6ee87b14972769634cac75b49bb8c5de 27-Jan-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove java.nio.file package

This package has no test coverage, and we don't
know if it was ported properly. This package will
be added in future, with a test suite.

Bug: 26786186
Bug: 26812611
Change-Id: I30a35f57be38fbf2b760e7d821bd2e233d2eaecb
h/AsynchronousFileChannelImpl.java
h/FileLockImpl.java
h/SimpleAsynchronousFileChannelImpl.java
s/AbstractBasicFileAttributeView.java
s/AbstractFileSystemProvider.java
s/AbstractFileTypeDetector.java
s/AbstractPath.java
s/AbstractWatchKey.java
s/AbstractWatchService.java
s/BasicFileAttributesHolder.java
s/Cancellable.java
s/DefaultFileSystemProvider.java
s/DefaultFileTypeDetector.java
s/DynamicFileAttributeView.java
s/FileOwnerAttributeViewImpl.java
s/Globs.java
s/NativeBuffer.java
s/NativeBuffers.java
s/UnixChannelFactory.java
s/UnixConstants.java
s/UnixCopyFile.java
s/UnixDirectoryStream.java
s/UnixException.java
s/UnixFileAttributeViews.java
s/UnixFileAttributes.java
s/UnixFileKey.java
s/UnixFileModeAttribute.java
s/UnixFileStoreAttributes.java
s/UnixFileSystem.java
s/UnixFileSystemProvider.java
s/UnixMountEntry.java
s/UnixNativeDispatcher.java
s/UnixPath.java
s/UnixSecureDirectoryStream.java
s/UnixUriUtils.java
s/UnixUserPrincipals.java
s/Util.java
e409de23a3281073142ff137b609778d6c70a31c 21-Jan-2016 Yi Kong <yikong@google.com> Revert "Revert "Expose correct FileDescriptor in DatagramSocketAdaptor""

This reverts commit 891ab5193d1ccb28bf342a8026a6b421ac96cd9b.

The function was erroneously added to the API list because it used @hide
annotation inside a comment. @hide annotation is only effective in
Javadoc.

Bug: 26292854
Bug: 26689841
Change-Id: Ib85346b3afceb945fbd12cf52cda0c28dd06da3c
h/DatagramChannelImpl.java
h/DatagramSocketAdaptor.java
891ab5193d1ccb28bf342a8026a6b421ac96cd9b 20-Jan-2016 Yi Kong <yikong@google.com> Revert "Expose correct FileDescriptor in DatagramSocketAdaptor"

This reverts commit 60692ecdd181104a05e9f9d0a789c7bf1734f4f2.

Bug: 26292854
Change-Id: Ic7b5c04be44bd0a2706bb614deb6f2c23592a588
h/DatagramChannelImpl.java
h/DatagramSocketAdaptor.java
60692ecdd181104a05e9f9d0a789c7bf1734f4f2 20-Jan-2016 Yi Kong <yikong@google.com> Expose correct FileDescriptor in DatagramSocketAdaptor

DatagramSocketAdaptor doesn't use DatagramSocket's methods. Override its
getFileDescriptor method to return the correct fd from
DatagramChannelImpl.

Bug: 26292854
Change-Id: I64b77db556c6099f563b4072e9d046d15c92527f
h/DatagramChannelImpl.java
h/DatagramSocketAdaptor.java
5873edf853a48362e8ee4e75181f654d0b88b8ef 07-Jan-2016 Narayan Kamath <narayan@google.com> Reinstate blockguard checks for file reads / writes.

Also adds a simple unit-test for file based checks.

bug: 25861497

Change-Id: I886321eae657af6531b21eb90c4749de7aec20d7
h/FileChannelImpl.java
h/FileDispatcherImpl.java
1d568d5e72820f7e487a49e3c57dee4f1e7f14bc 07-Jan-2016 Narayan Kamath <narayan@google.com> Reinstate blockguard checks on network operations.

bug: 25861497
Change-Id: I3466450d57507eac51cfab7c9b1cf17eb0115f69
h/DatagramChannelImpl.java
h/DatagramDispatcher.java
h/Net.java
h/SocketChannelImpl.java
h/SocketDispatcher.java
d53cca97ce3246f2184bbd883bd1fcbc1d5cd5f0 04-Jan-2016 Nick Kralevich <nnk@google.com> Merge "FileDispatcherImpl.c: Don't leak file descriptors"
e789c59925d49a3a4d43be11d46061eb8879f6b7 23-Dec-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> SocketChannelTest#testSocket_NonBlock_BasicStatusAfterConnect fix

Bug: 26140820
Change-Id: I38961534e642f6a9392e13483dec9638cb26db08
h/SocketAdaptor.java
5b4ece2f6d0085cf2332a4f450054504c59cfe4f 23-Dec-2015 Nick Kralevich <nnk@google.com> FileDispatcherImpl.c: Don't leak file descriptors

At class initialization time, FileDispatcherImpl created a socketpair()
file descriptor which it uses to pre-close other file descriptors. In
Android, this file descriptor is created within zygote, and leaks to
zygote's children, crossing a security boundary and generating SELinux
denials of the form:

avc: denied { getopt } for pid=10832 comm=50726F7879204578656375746F72 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:r:zygote:s0 tclass=unix_stream_socket permissive=0
avc: denied { getopt } for comm="pool-9-thread-2" scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:zygote:s0 tclass=unix_stream_socket permissive=0

Rather than creating the file descriptor and never closing it, create
the file descriptor only when it's needed. This prevents the file
descriptor from leaking from zygote to zygote's children.

Instead of using socketpair(), use a file descriptor for /dev/null.
This is safer and, if it happens to leak, doesn't pose any risk.

Change-Id: I715fc435f311f3fb6b4d7529dba59a16c523efcc
h/FileDispatcherImpl.java
9777098f315536b148c5b921e0f3b41a6342b1dd 22-Dec-2015 Narayan Kamath <narayan@google.com> Merge "Remove unused non-java files under ojluni/src/main/java."
2c87ad3a45cecf9e344487cad1abfdebe79f2c7c 21-Dec-2015 Narayan Kamath <narayan@google.com> Update file headers.

Change-Id: I8149f41585768a1a4b72ab7bb4a1452376c05cc2
h/ChannelInputStream.java
h/DatagramChannelImpl.java
h/FileChannelImpl.java
h/Net.java
h/SocketAdaptor.java
h/SocketChannelImpl.java
h/SourceChannelImpl.java
h/Util.java
s/StreamDecoder.java
s/NativeBuffers.java
451b7279eddf4ffb0688e1c558d45b9f0d48d12d 21-Dec-2015 Narayan Kamath <narayan@google.com> Remove unused non-java files under ojluni/src/main/java.

The files that are meant to be included as resources are already
present in ojluni/src/resources/.

Change-Id: Icf5d9971daaec3dc2d02e92615ba3a7e92c59201
s/ext/META-INF/services/java.nio.charset.spi.CharsetProvider
s/standard-charsets
cc42201b8d47d4c03a69dcf6df4e58c1a11d32e5 21-Dec-2015 Paul Duffin <paulduffin@google.com> Deleting unused or broken files

The tests removed from luni/src/test are testing files that no
longer exist. It's possible that they provided some coverage of
the code which is not provided for the OpenJDK code.

The classes removed from ojluni/src/main are the ones not
explicitly mentioned in the openjdk_java_files.mk.

Change-Id: Id52d65d9b1f06e1a6e7afbd93336c7d12e0c3083
h/EventPortSelectorImpl.java
h/EventPortSelectorProvider.java
h/EventPortWrapper.java
h/SctpAssocChange.java
h/SctpAssociationImpl.java
h/SctpChannelImpl.java
h/SctpMessageInfoImpl.java
h/SctpMultiChannelImpl.java
h/SctpNet.java
h/SctpNotification.java
h/SctpPeerAddrChange.java
h/SctpResultContainer.java
h/SctpSendFailed.java
h/SctpServerChannelImpl.java
h/SctpShutdown.java
h/SctpStdSocketOption.java
h/Secrets.java
h/SolarisAsynchronousChannelProvider.java
h/SolarisEventPort.java
s/AbstractCharsetProvider.java
s/CharsetMapping.java
s/FastCharsetProvider.java
s/ISO_8859_1.java
s/ISO_8859_15.java
s/MS1252.java
s/SingleByte.java
s/SingleByteDecoder.java
s/SingleByteEncoder.java
s/StandardCharsets.java
s/Surrogate.java
s/US_ASCII.java
s/UTF_16.java
s/UTF_16BE.java
s/UTF_16LE.java
s/UTF_16LE_BOM.java
s/UTF_32.java
s/UTF_32BE.java
s/UTF_32BE_BOM.java
s/UTF_32Coder.java
s/UTF_32LE.java
s/UTF_32LE_BOM.java
s/UTF_8.java
s/Unicode.java
s/UnicodeDecoder.java
s/UnicodeEncoder.java
s/ext/Big5_HKSCS.java
s/ext/Big5_HKSCS_2001.java
s/ext/Big5_Solaris.java
s/ext/COMPOUND_TEXT.java
s/ext/COMPOUND_TEXT_Decoder.java
s/ext/COMPOUND_TEXT_Encoder.java
s/ext/CompoundTextSupport.java
s/ext/DelegatableDecoder.java
s/ext/DoubleByte.java
s/ext/DoubleByteDecoder.java
s/ext/DoubleByteEncoder.java
s/ext/EUC_JP.java
s/ext/EUC_JP_LINUX.java
s/ext/EUC_JP_Open.java
s/ext/EUC_TW.java
s/ext/ExtendedCharsets.java
s/ext/GB18030.java
s/ext/HKSCS.java
s/ext/IBM33722.java
s/ext/IBM834.java
s/ext/IBM942C.java
s/ext/IBM943C.java
s/ext/IBM949C.java
s/ext/IBM964.java
s/ext/ISCII91.java
s/ext/ISO2022.java
s/ext/ISO2022_CN.java
s/ext/ISO2022_CN_CNS.java
s/ext/ISO2022_CN_GB.java
s/ext/ISO2022_JP.java
s/ext/ISO2022_JP_2.java
s/ext/ISO2022_KR.java
s/ext/JISAutoDetect.java
s/ext/JIS_X_0201.java
s/ext/JIS_X_0208.java
s/ext/JIS_X_0208_Decoder.java
s/ext/JIS_X_0208_Encoder.java
s/ext/JIS_X_0208_MS5022X_Decoder.java
s/ext/JIS_X_0208_MS5022X_Encoder.java
s/ext/JIS_X_0208_MS932_Decoder.java
s/ext/JIS_X_0208_MS932_Encoder.java
s/ext/JIS_X_0208_Solaris_Decoder.java
s/ext/JIS_X_0208_Solaris_Encoder.java
s/ext/JIS_X_0212.java
s/ext/JIS_X_0212_Decoder.java
s/ext/JIS_X_0212_Encoder.java
s/ext/JIS_X_0212_MS5022X_Decoder.java
s/ext/JIS_X_0212_MS5022X_Encoder.java
s/ext/JIS_X_0212_Solaris_Decoder.java
s/ext/JIS_X_0212_Solaris_Encoder.java
s/ext/MS50220.java
s/ext/MS50221.java
s/ext/MS932_0213.java
s/ext/MS950_HKSCS.java
s/ext/MS950_HKSCS_XP.java
s/ext/MSISO2022JP.java
s/ext/PCK.java
s/ext/SJIS.java
s/ext/SJIS_0213.java
s/ext/SimpleEUCEncoder.java
s/AbstractAclFileAttributeView.java
s/AbstractPoller.java
s/AbstractUserDefinedFileAttributeView.java
s/BsdFileStore.java
s/BsdFileSystem.java
s/BsdFileSystemProvider.java
s/BsdNativeDispatcher.java
s/GnomeFileTypeDetector.java
s/LinuxDosFileAttributeView.java
s/LinuxFileStore.java
s/LinuxFileSystem.java
s/LinuxFileSystemProvider.java
s/LinuxNativeDispatcher.java
s/LinuxUserDefinedFileAttributeView.java
s/LinuxWatchService.java
s/MacOSXFileSystem.java
s/MacOSXFileSystemProvider.java
s/MacOSXNativeDispatcher.java
s/PollingWatchService.java
s/Reflect.java
s/SolarisAclFileAttributeView.java
s/SolarisFileStore.java
s/SolarisFileSystem.java
s/SolarisFileSystemProvider.java
s/SolarisNativeDispatcher.java
s/SolarisUserDefinedFileAttributeView.java
s/SolarisWatchService.java
s/UnixFileStore.java
55feeeb0c6f9571166b760a76d24cb8179fbdb41 17-Dec-2015 Narayan Kamath <narayan@google.com> Consistent exception ordering in SourceChannelImpl.

Always throw an NPE before ensuring the channel's option.

bug: 26141154
Change-Id: I851716dac1679a3ef687c471b79249094e36da62
h/SourceChannelImpl.java
fe0e5d3e460de87d24e0224ef10b089289355c47 12-Dec-2015 Narayan Kamath <narayan@google.com> Fix BufferTest#testFreed.

Each DirectByteBuffer now has a MemoryRef object associated with it.
This MemoryRef is shared across its duplicates and slices.

Also contains a few other surrounding cleanups :
- FileChannelImpl now allocates the DirectByteBuffer directly.
- Removed a pointless constructor from DirectByteBuffer.
- Removed unnecessary (pos << 0) shifts.

bug: 26020981
Change-Id: I573b48e621667c3cc2d78287678fba240783603d
h/FileChannelImpl.java
h/Util.java
3f2261217d5cb46a3247158fe1082ebffb87a2dd 05-Dec-2015 Mathieu Chartier <mathieuc@google.com> Add null check for cleaner

Confirmed other callers check for null by grep in libcore dir.

Bug: 26040655
Bug: 25994460

Change-Id: If2d6dacf6a8e3fadc0123cfcaa5a8a9ed4575c08
h/Util.java
d80eadc041c833c2808beb823f4edb90ff7410f7 18-Nov-2015 Shubham Ajmera <shubhamajmera@google.com> FollowUp fixes for ByteBuffer

There were some issues caused after changes #815174, #815055,
#815164. Fixes include - using the correct constructor for deprecated
classes, issues with readonly flag, offset for sliced bytebuffer,
introducing isAccessible flag in place of isFreed flag, provided a
method to set accessible flag.

Change-Id: Ic6c7ae4e4f9a364b7dee4ed5ced382844f907ef5
h/Util.java
55ec8acc498f1aeec8fcbdd598f8fff556dbaa63 16-Nov-2015 Narayan Kamath <narayan@google.com> Remove Unsafe#getAddress.

Change-Id: I48eba6b44acc20ab9690e2dd66c025a8ad37479a
h/DefaultAsynchronousChannelProvider.java
48c1f0e1f3ceb54f5d781f18fa4139b06e00dfde 27-Oct-2015 Narayan Kamath <narayan@google.com> Fix file descriptor accessor for SocketAdaptor.

bug: 25217483

(cherry picked from commit 9a0e218683cb2d60a123fece3c6b7ec2106d3455)

Change-Id: I0ed8c76aec42db6e473d47bb35bf5c98ba4feb54
h/SocketAdaptor.java
2e1995a729cb8d836159444d61427d4d0ef0b45f 20-Oct-2015 Narayan Kamath <narayan@google.com> SocketChannel: set the local address after #connect..

.. even for channels that are non-blocking. Posix suggests that
the socket is always bound before connect returns, even if it's
non-blocking and the remote connection hasn't been established
yet.

This unbreaks tests that expect SocketChannel#isBound to return
true after connect.

(cherry picked from commit 54efdfbc7caec82e2f8030935d58522759e04000)

Change-Id: Iae6bd69687048a4cf0ddbb753184d1f3c81ec0c8
h/SocketChannelImpl.java
956d88c17feca60fb9d1163c948afd37959d2be6 25-Aug-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add arg NPE check in SourceChannelImpl#read

Change-Id: Ib54fa98c283516ca32f23b3f7299f45f74c0cdd6
h/SourceChannelImpl.java
2808d7d77be71a40b9724172fc6be4c3db68d507 10-Aug-2015 Narayan Kamath <narayan@google.com> SocketChannel fixes.

- Be more consistent about the type of exception that's being
thrown (nio "style" vs SocketExceptions).
- Convert AlreadyConnectedException correctly.
- Update test expectations.
- Remove a pointless test of hasArray() for direct byte buffers.
It is not this tests responsibility.

Change-Id: I9e47670fbdd24546b9f219dafb6371b086928c95
h/Net.java
h/SocketAdaptor.java
55f4e6492769b61850c43750a9182a017119e473 06-Aug-2015 Narayan Kamath <narayan@google.com> Fix bogus fix in FileChannelImpl.

We should truncate if the requested size is *less* than the
file size, not greater.

Also update test expectations for Channels from appendable
FileOutputStreams. They must be positioned at the end of the file.

Change-Id: I214e9f1ed8d1833c85a801e96191ff61998a2d5b
h/FileChannelImpl.java
0319995669db3d4cd8fcb73e01f9beaa1106bf2f 06-Aug-2015 Narayan Kamath <narayan@google.com> Fix ChannelsTest

Use public methods in ChannelInputStream to read from Channels
so that we throw the right sort of exception for non-blocking
Selectable channels.

Also amend a few tests that were making bogus assumptions about
isReady(). Channels derived from File input / output streams are
always ready.

Change-Id: I689eec640f6a51e0f92dea906f19d4f8a50959bb
h/ChannelInputStream.java
s/StreamDecoder.java
396f2361ba82cce530a4ff8aa9ac0780af8d4d56 06-Aug-2015 Narayan Kamath <narayan@google.com> Fix DatagramChannel tests.

- Add native implementation.
- Minor behavioural change : receive from a null address
must not attempt to bind.

Change-Id: I308cacf4f03bad8e6062ee9e83b5e3e0fa7a6310
h/DatagramChannelImpl.java
8bc68f626c8c28fa3bc2a277b52aed3c80ede701 05-Aug-2015 Narayan Kamath <narayan@google.com> StreamDecoder: Flush charset decoder properly at the end of stream.

Change-Id: I4c9488732e9c13aab30d34751ee4ad1198ae4147
s/StreamDecoder.java
2b2c41f8785cfe3c24f2615a9a5eab065960c028 29-Jul-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix for OldSocketChannelTest

libcore.java.nio.channels.OldSocketChannelTest.
testOpenSocketAddress exoects IllegalArgumentException
not NPE.

Change-Id: Ibe8aecbbde44e81846e092da997175041d36ba5d
h/Net.java
4acee6319a676b9990a0768f57457fb54b007970 27-Jul-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix FileChannelTest tests

-test_append
right thing, updating test
-test_truncate_greaterThanSizeWithPositionChange
required a fix in FileChannelImpl#truncate

Change-Id: Ibb60b1b6a1163c8b4fd4a3513a193938bc73e925
h/FileChannelImpl.java
0f7f0c999e751ab883a247e1409dcc8730c87b9f 23-Jul-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fixes for libcore.java.nio.BufferTest

- Added missing MappedByteBuffer native methods
- Fixed RandomAccessFile#getChannel permissions
- Disabled ByteBuffer#set/isAccessible parts of
BufferTest
- Marked set/isAccessible for removal (it will
be reimplemented in the framework).

Change-Id: I7d1999b35600ff45dd448a8b3671d9373559c1aa
h/FileChannelImpl.java
3d43823e17818b3c5f45831f830884917b181454 05-May-2015 Piotr Jastrzebski <haaawk@google.com> Use OpenJdk implementation of java.nio.channels.{spi}.*

- Unsafe : Add supporting methods (addressSize, pageSize,
allocateMemory, freeMemory, setMemory and various getters
equivalent to the existing libcore Memory classes).
- NioUtils : Rewrite nioutils methods in terms of OpenJdk classes.
- DeleteOnExitHook : Access java.lang.Shutdown directly.
- FileDescriptor : Add getInt$, setInt$ and setSocket.
- NativeBuffers : Copy byte-by-byte instead of using Unsafe.copyMemory.
- FileInputStream : Add a custom implementation of available() instead
of using IO_Available.

General : Switch JNI code to explicit registration rather than
implicit registration.

General : Track renaming of Unsafe methods (to add the $ suffix). This
might be unnecessary and will be reverted in a future change.

Change-Id: I7e63340d266dbd4b1c425b13710c05dce1086d4b
h/EPoll.java
h/FileChannelImpl.java
h/KQueue.java
h/NativeObject.java
h/SolarisEventPort.java
h/Util.java
s/NativeBuffers.java
s/UnixChannelFactory.java
79126799e8d17a5da735cf252d2865254cdd295f 05-May-2015 Piotr Jastrzebski <haaawk@google.com> Add OpenJdk implementations of java.nio.channels.*

These files are autogenerated by the OpenJdk build process.

Change-Id: I0e3b9d4988f2502131c58b453c552e4da280dc60
h/SocketOptionRegistry.java
s/UnixConstants.java
9a9f76d1e161f37b3d83d2db94ea63298d221bdf 28-Apr-2015 Piotr Jastrzebski <haaawk@google.com> Use OpenJdk Implementations of java.nio.charset.*

- PrehashedMap : Add a custom hash function instead of calling
hashCode().
- Add a few missing files in sun.nio.cs.
- Charset: Add an internal method that's equivalent to forName but
throws only UEEs.

Change-Id: Ica1f14d4784549c0a3642b61d325f1fb09526125
s/ISO_8859_15.java
s/MS1252.java
s/StandardCharsets.java
51b1b6997fd3f980076b8081f7f1165ccc2a4008 16-Feb-2015 Piotr Jastrzebski <haaawk@google.com> Initial import of OpenJdk files.

Create new libcore/ojluni directory with src/main/java and
src/main/native subdirectiories.

Build ojluni into core-oj jar.

Use openjdk classes from java.awt.font package.

Copy all files from jdk/src/share/classes and jdk/src/solaris/classes
directories in openjdk into libcore/ojluni/src/main/java.

Copy following native files from openjdk to
libcore/ojluni/src/main/native:
jdk/src/solaris/native/java/io/canonicalize_md.c
build/linux-amd64/include/classfile_constants.h
jdk/src/share/native/java/net/DatagramPacket.c
jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c
jdk/src/share/native/java/lang/Double.c
jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c
jdk/src/solaris/native/java/io/FileDescriptor_md.c
jdk/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c
jdk/src/share/native/java/io/FileInputStream.c
jdk/src/solaris/native/sun/nio/ch/FileKey.c
jdk/src/solaris/native/java/io/FileOutputStream_md.c
jdk/src/solaris/native/java/io/FileSystem_md.c
jdk/src/share/native/java/lang/Float.c
jdk/src/share/native/java/net/Inet4Address.c
jdk/src/solaris/native/java/net/Inet4AddressImpl.c
jdk/src/share/native/java/net/Inet6Address.c
jdk/src/solaris/native/java/net/Inet6AddressImpl.c
jdk/src/share/native/java/net/InetAddress.c
jdk/src/solaris/native/java/net/InetAddressImplFactory.c
jdk/src/share/native/java/io/io_util.c
jdk/src/solaris/native/sun/nio/ch/IOUtil.c
jdk/src/share/native/java/io/io_util.h
jdk/src/solaris/native/java/io/io_util_md.c
jdk/src/solaris/native/java/io/io_util_md.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/java_io_FileDescriptor.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileInputStream.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileOutputStream.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileSystem.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_ObjectStreamClass.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_UnixFileSystem.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Double.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Float.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Integer.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Long.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Runtime.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Shutdown.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_StrictMath.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_String.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_System.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Thread.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Throwable.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_DatagramPacket.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet4Address.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet4AddressImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet6Address.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet6AddressImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_InetAddress.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_InetAddressImplFactory.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_NetworkInterface.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_PlainDatagramSocketImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_PlainSocketImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketInputStream.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketOptions.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketOutputStream.h
jdk/src/share/native/java/lang/java_props.h
jdk/src/solaris/native/java/lang/java_props_md.c
jdk/src/share/native/java/util/zip/Adler32.c as java_util_zip_Adler32.c
jdk/src/share/native/java/util/zip/CRC32.c as java_util_zip_CRC32.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_CRC32.h
jdk/src/share/native/java/util/zip/Deflater.c as java_util_zip_Deflater.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_Deflater.h
jdk/src/share/native/java/util/zip/Inflater.c as java_util_zip_Inflater.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_Inflater.h
jdk/src/share/native/java/util/zip/ZipFile.c as java_util_zip_ZipFile.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_ZipFile.h
jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
jdk/src/share/native/common/jlong.h
jdk/src/solaris/native/common/jlong_md.h
jdk/src/share/native/common/jni_util.c
jdk/src/share/native/common/jni_util.h
jdk/src/solaris/native/common/jni_util_md.c
jdk/src/share/javavm/export/jvm.h
jdk/src/solaris/javavm/export/jvm_md.h
jdk/src/solaris/native/java/net/linux_close.c
jdk/src/share/native/sun/misc/NativeSignalHandler.c
jdk/src/solaris/native/sun/nio/ch/NativeThread.c
jdk/src/share/native/java/net/net_util.c
jdk/src/share/native/java/net/net_util.h
jdk/src/solaris/native/java/net/net_util_md.c
jdk/src/solaris/native/java/net/net_util_md.h
jdk/src/solaris/native/java/net/NetworkInterface.c
jdk/src/share/native/sun/nio/ch/nio.h
jdk/src/solaris/native/sun/nio/ch/nio_util.h
jdk/src/share/native/java/io/ObjectStreamClass.c
jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
jdk/src/solaris/native/java/net/PlainSocketImpl.c
jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c
jdk/src/share/native/java/lang/Runtime.c
jdk/src/share/native/java/lang/Shutdown.c
jdk/src/share/native/sun/misc/Signal.c
jdk/src/solaris/native/java/net/SocketInputStream.c
jdk/src/solaris/native/java/net/SocketOutputStream.c
jdk/src/share/native/java/lang/StrictMath.c
jdk/src/share/native/java/lang/String.c
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/sun_misc_NativeSignalHandler.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/sun_misc_Signal.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/sun_net_spi_DefaultProxySelector.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileChannelImpl.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileDispatcherImpl.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileKey.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_IOStatus.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_IOUtil.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_NativeThread.h
jdk/src/share/native/java/lang/System.c
jdk/src/share/native/java/lang/Thread.c
jdk/src/share/native/java/lang/Throwable.c
jdk/src/solaris/native/java/io/UnixFileSystem_md.c
jdk/src/solaris/native/java/lang/UNIXProcess_md.c
jdk/src/share/native/java/util/zip/zip_util.c
jdk/src/share/native/java/util/zip/zip_util.h

Change-Id: Ib237df4e1b7b5b4d9f12e74d189e6ec9eed3c31d
yteBuffered.java
h/AbstractPollArrayWrapper.java
h/AbstractPollSelectorImpl.java
h/AllocatedNativeObject.java
h/AsynchronousChannelGroupImpl.java
h/AsynchronousFileChannelImpl.java
h/AsynchronousServerSocketChannelImpl.java
h/AsynchronousSocketChannelImpl.java
h/BsdAsynchronousChannelProvider.java
h/Cancellable.java
h/ChannelInputStream.java
h/CompletedFuture.java
h/DatagramChannelImpl.java
h/DatagramDispatcher.java
h/DatagramSocketAdaptor.java
h/DefaultAsynchronousChannelProvider.java
h/DefaultSelectorProvider.java
h/DevPollArrayWrapper.java
h/DevPollSelectorImpl.java
h/DevPollSelectorProvider.java
h/DirectBuffer.java
h/EPoll.java
h/EPollArrayWrapper.java
h/EPollPort.java
h/EPollSelectorImpl.java
h/EPollSelectorProvider.java
h/EventPortSelectorImpl.java
h/EventPortSelectorProvider.java
h/EventPortWrapper.java
h/ExtendedSocketOption.java
h/FileChannelImpl.java
h/FileDispatcher.java
h/FileDispatcherImpl.java
h/FileKey.java
h/FileLockImpl.java
h/FileLockTable.java
h/Groupable.java
h/IOStatus.java
h/IOUtil.java
h/IOVecWrapper.java
h/InheritedChannel.java
h/Interruptible.java
h/Invoker.java
h/KQueue.java
h/KQueuePort.java
h/LinuxAsynchronousChannelProvider.java
h/MembershipKeyImpl.java
h/MembershipRegistry.java
h/NativeDispatcher.java
h/NativeObject.java
h/NativeThread.java
h/NativeThreadSet.java
h/Net.java
h/OptionKey.java
h/PendingFuture.java
h/PipeImpl.java
h/PollArrayWrapper.java
h/PollSelectorImpl.java
h/PollSelectorProvider.java
h/Port.java
h/Reflect.java
h/SctpAssocChange.java
h/SctpAssociationImpl.java
h/SctpChannelImpl.java
h/SctpMessageInfoImpl.java
h/SctpMultiChannelImpl.java
h/SctpNet.java
h/SctpNotification.java
h/SctpPeerAddrChange.java
h/SctpResultContainer.java
h/SctpSendFailed.java
h/SctpServerChannelImpl.java
h/SctpShutdown.java
h/SctpStdSocketOption.java
h/Secrets.java
h/SelChImpl.java
h/SelectionKeyImpl.java
h/SelectorImpl.java
h/SelectorProviderImpl.java
h/ServerSocketAdaptor.java
h/ServerSocketChannelImpl.java
h/SimpleAsynchronousFileChannelImpl.java
h/SinkChannelImpl.java
h/SocketAdaptor.java
h/SocketChannelImpl.java
h/SocketDispatcher.java
h/SolarisAsynchronousChannelProvider.java
h/SolarisEventPort.java
h/SourceChannelImpl.java
h/ThreadPool.java
h/UnixAsynchronousServerSocketChannelImpl.java
h/UnixAsynchronousSocketChannelImpl.java
h/Util.java
s/AbstractCharsetProvider.java
s/ArrayDecoder.java
s/ArrayEncoder.java
s/CharsetMapping.java
s/FastCharsetProvider.java
s/HistoricallyNamedCharset.java
s/ISO_8859_1.java
s/SingleByte.java
s/SingleByteDecoder.java
s/SingleByteEncoder.java
s/StreamDecoder.java
s/StreamEncoder.java
s/Surrogate.java
s/ThreadLocalCoders.java
s/US_ASCII.java
s/UTF_16.java
s/UTF_16BE.java
s/UTF_16LE.java
s/UTF_16LE_BOM.java
s/UTF_32.java
s/UTF_32BE.java
s/UTF_32BE_BOM.java
s/UTF_32Coder.java
s/UTF_32LE.java
s/UTF_32LE_BOM.java
s/UTF_8.java
s/Unicode.java
s/UnicodeDecoder.java
s/UnicodeEncoder.java
s/ext/Big5_HKSCS.java
s/ext/Big5_HKSCS_2001.java
s/ext/Big5_Solaris.java
s/ext/COMPOUND_TEXT.java
s/ext/COMPOUND_TEXT_Decoder.java
s/ext/COMPOUND_TEXT_Encoder.java
s/ext/CompoundTextSupport.java
s/ext/DelegatableDecoder.java
s/ext/DoubleByte.java
s/ext/DoubleByteDecoder.java
s/ext/DoubleByteEncoder.java
s/ext/EUC_JP.java
s/ext/EUC_JP_LINUX.java
s/ext/EUC_JP_Open.java
s/ext/EUC_TW.java
s/ext/ExtendedCharsets.java
s/ext/GB18030.java
s/ext/HKSCS.java
s/ext/IBM33722.java
s/ext/IBM834.java
s/ext/IBM942C.java
s/ext/IBM943C.java
s/ext/IBM949C.java
s/ext/IBM964.java
s/ext/ISCII91.java
s/ext/ISO2022.java
s/ext/ISO2022_CN.java
s/ext/ISO2022_CN_CNS.java
s/ext/ISO2022_CN_GB.java
s/ext/ISO2022_JP.java
s/ext/ISO2022_JP_2.java
s/ext/ISO2022_KR.java
s/ext/JISAutoDetect.java
s/ext/JIS_X_0201.java
s/ext/JIS_X_0208.java
s/ext/JIS_X_0208_Decoder.java
s/ext/JIS_X_0208_Encoder.java
s/ext/JIS_X_0208_MS5022X_Decoder.java
s/ext/JIS_X_0208_MS5022X_Encoder.java
s/ext/JIS_X_0208_MS932_Decoder.java
s/ext/JIS_X_0208_MS932_Encoder.java
s/ext/JIS_X_0208_Solaris_Decoder.java
s/ext/JIS_X_0208_Solaris_Encoder.java
s/ext/JIS_X_0212.java
s/ext/JIS_X_0212_Decoder.java
s/ext/JIS_X_0212_Encoder.java
s/ext/JIS_X_0212_MS5022X_Decoder.java
s/ext/JIS_X_0212_MS5022X_Encoder.java
s/ext/JIS_X_0212_Solaris_Decoder.java
s/ext/JIS_X_0212_Solaris_Encoder.java
s/ext/META-INF/services/java.nio.charset.spi.CharsetProvider
s/ext/MS50220.java
s/ext/MS50221.java
s/ext/MS932_0213.java
s/ext/MS950_HKSCS.java
s/ext/MS950_HKSCS_XP.java
s/ext/MSISO2022JP.java
s/ext/PCK.java
s/ext/SJIS.java
s/ext/SJIS_0213.java
s/ext/SimpleEUCEncoder.java
s/standard-charsets
s/AbstractAclFileAttributeView.java
s/AbstractBasicFileAttributeView.java
s/AbstractFileSystemProvider.java
s/AbstractFileTypeDetector.java
s/AbstractPath.java
s/AbstractPoller.java
s/AbstractUserDefinedFileAttributeView.java
s/AbstractWatchKey.java
s/AbstractWatchService.java
s/BasicFileAttributesHolder.java
s/BsdFileStore.java
s/BsdFileSystem.java
s/BsdFileSystemProvider.java
s/BsdNativeDispatcher.java
s/Cancellable.java
s/DefaultFileSystemProvider.java
s/DefaultFileTypeDetector.java
s/DynamicFileAttributeView.java
s/FileOwnerAttributeViewImpl.java
s/Globs.java
s/GnomeFileTypeDetector.java
s/LinuxDosFileAttributeView.java
s/LinuxFileStore.java
s/LinuxFileSystem.java
s/LinuxFileSystemProvider.java
s/LinuxNativeDispatcher.java
s/LinuxUserDefinedFileAttributeView.java
s/LinuxWatchService.java
s/MacOSXFileSystem.java
s/MacOSXFileSystemProvider.java
s/MacOSXNativeDispatcher.java
s/NativeBuffer.java
s/NativeBuffers.java
s/PollingWatchService.java
s/Reflect.java
s/SolarisAclFileAttributeView.java
s/SolarisFileStore.java
s/SolarisFileSystem.java
s/SolarisFileSystemProvider.java
s/SolarisNativeDispatcher.java
s/SolarisUserDefinedFileAttributeView.java
s/SolarisWatchService.java
s/UnixChannelFactory.java
s/UnixCopyFile.java
s/UnixDirectoryStream.java
s/UnixException.java
s/UnixFileAttributeViews.java
s/UnixFileAttributes.java
s/UnixFileKey.java
s/UnixFileModeAttribute.java
s/UnixFileStore.java
s/UnixFileStoreAttributes.java
s/UnixFileSystem.java
s/UnixFileSystemProvider.java
s/UnixMountEntry.java
s/UnixNativeDispatcher.java
s/UnixPath.java
s/UnixSecureDirectoryStream.java
s/UnixUriUtils.java
s/UnixUserPrincipals.java
s/Util.java