From langel at redhat.com Mon Feb 2 06:49:57 2009 From: langel at redhat.com (Lillian Angel) Date: Mon, 02 Feb 2009 09:49:57 -0500 Subject: IcedTea6 1.4 Released! Message-ID: <49870815.6080106@redhat.com> We are proud to announce the release of IcedTea6 1.4. The IcedTea6 project provides a harness to build the source code from OpenJDK6 (http://openjdk.java.net) using Free Software build tools. What's New? ----------------- - Updated to OpenJDK b14 build. - Security fixes for: CVE-2008-5360 - Temporary files have guessable file names. CVE-2008-5350 - Allows to list files within the user home directory. CVE-2008-5348 - Denial-Of-Service in kerberos authentication. CVE-2008-5359 - Buffer overflow in image processing. CVE-2008-5351 - UTF-8 decoder accepts non-shortest form sequences. CVE-2008-5356 - Font processing vulnerability. CVE-2008-5353 - Calendar object deserialization allows privilege escalation. CVE-2008-5354 - Privilege escalation in command line applications. CVE-2008-5357 - Truetype Font processing vulnerability. CVE-2008-5352 - Jar200 Decompression buffer overflow. CVE-2008-5358 - Buffer Overflow in GIF image processing. - Upgraded to new OpenJDK7 Hotspot 14. The old OpenJDK6 Hotspot 11 can still be configured --with-hotspot-build=original but future versions will drop support for the old version and only support HS14. Zero and Shark have been forward ported to HS14 (from HS12). - XRender pipeline support: Java2D are noticably faster and running over a remote X connection feels like it is all local. Build by default (disable with --disable-xrender). Runtime enabled by running java -Dsun.java2d.xrender=True (default is to use the old X renderer for now). - IcedTeaPlugin now supports HTTPS sites and adds a user prompt for untrusted https certificates. - Use the ALSA 'default' device. Makes Java play nicer with PulseAudio. - VisualVM integration has been removed. - Gervill soft synthesizer integration updated to latest CVS version. - Integrated jtreg upgraded to 4_0-src-b02-15_oct_2008. - make check runs much faster now. jtreg -samevm support has been integrated into the langtools and jdk subsystems. Please package the test/jtreg-summary.log file with your distribution package so end users can compare the test results. - Shark (--enable-shark) now builds on 64 bit platforms, but is a pre-alpha technology preview and not recommended for use. - Better support for bootstrapping with different jar programs (supporting -J options). - If --with-pkgversion isn't given the short mercurial rev node version will be used. Package distributors are encouraged to build packages with --with-pkgversion to uniquely identify their distribution version number when java -version is run to help distribution specific bug reporting. - Various freetype font, pisces renderer and awt X window size fixes to fix visual anomalies. - Build fixes for gcc 4.3 and 4.4-pre-release. - Added support for building against a specific openjdk src dir or hg revision (--with-openjdk-src-dir or --with-hg-revision). - Many other Plugin, Zero, Shark and PulseAudio bug fixes. - Build clean up. - Several plugin bug and build fixes: (http://icedtea.classpath.org/bugzilla/ and https://bugzilla.redhat.com/). ----------------- The tarball and nosrc RPM can be downloaded here: http://icedtea.classpath.org/download/fedora/java-1.6.0-openjdk-1.6.0.0-10.b14.fc11.nosrc.rpm http://icedtea.classpath.org/download/source/icedtea6-1.4.tar.gz The following people helped with this release: Gary Benson, Deepak Bhole, Andrew Haley, Andrew John Hughes, Ioana Ivan, Matthias Klose, Omair Majid, Christian Thalinger, Mark Wielaard, Lillian Angel We would also like to thank the bug reporters and testers! To get started: $ hg clone http://icedtea.classpath.org/hg/icedtea6 $ cd icedtea6 Full build requirements and instructions are in INSTALL: $ ./configure $ make The new package has been built into Fedora 10 and Fedora 11 (rawhide) and should appear in the yum repositories in a couple of days. From ekrichardson at gmail.com Tue Feb 3 00:47:56 2009 From: ekrichardson at gmail.com (Eric Richardson) Date: Tue, 3 Feb 2009 00:47:56 -0800 Subject: Updated Icedtea7 Problem MacOSX PPC In-Reply-To: <20090130150057.GE3205@redhat.com> References: <860cb0120901272357u2c50ce95sb36b08a25483052e@mail.gmail.com> <20090128081320.GA3207@redhat.com> <860cb0120901280904u72c8206akf5c3096f853dd789@mail.gmail.com> <860cb0120901282359v1aa27138tb4115fa1b338d3aa@mail.gmail.com> <20090129102048.GB3213@redhat.com> <860cb0120901291021t46badee1tb5ec33ca444e72ec@mail.gmail.com> <20090130150057.GE3205@redhat.com> Message-ID: <860cb0120902030047q39dd9460y33285d9fd7325546@mail.gmail.com> Gary, On Fri, Jan 30, 2009 at 7:00 AM, Gary Benson wrote: > Eric Richardson wrote: > > > I guess Icedtea works from scratch on other platforms without > > errors/stopping? > > It does, however, as you saw, the only operating systems in IcedTea's > acinclude.m4 are Linux and Solaris, so it doesn't look like anybody > tried building on those yet. I saw you patched it to include "darwin", > but should it not have been patched to say "bsd"? This would be better for darwin only? Then maybe Defs-bsd.gmk might get included? diff -r 52b6f4605e43 acinclude.m4 --- a/acinclude.m4 Tue Jan 27 02:27:28 2009 +0000 +++ b/acinclude.m4 Mon Feb 02 21:53:16 2009 -0800 @@ -77,6 +77,10 @@ BUILD_OS_DIR=solaris OS_PATH=/opt/SunStudioExpress/bin:/opt/SUNWpro/bin:/usr/gnu/bin ;; + *darwin*) + BUILD_OS_DIR=bsd + OS_PATH= + ;; *) AC_MSG_ERROR([unsupported operating system ${host_os}]) ;; Given how much further along Michael is it might be worth trying his > approach. He may be able to supply you with updated patches, for > instance. When I was looking at the binary plugs list on the open-jdk site I saw the i386 libs and thought these were not going to work for PowerPC. Is this correct? Also, all I have right now is the jdk1.5 from Apple to work with on this platform. > Cheers, > Gary > > -- > http://gbenson.net/ > Thanks, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090203/bfa0b5a3/attachment.html From ekrichardson at gmail.com Tue Feb 3 01:01:04 2009 From: ekrichardson at gmail.com (Eric Richardson) Date: Tue, 3 Feb 2009 01:01:04 -0800 Subject: IcedTea Bootstrap Process In-Reply-To: <20090129101436.GA3213@redhat.com> References: <17c6771e0901132035s2588f275s8a7e8e2997241ed6@mail.gmail.com> <20090129101436.GA3213@redhat.com> Message-ID: <860cb0120902030101y661feea2sb8e744e32eba6b57@mail.gmail.com> On Thu, Jan 29, 2009 at 2:14 AM, Gary Benson wrote: > Michael Franz wrote: > > I have made some pretty good progress (I think) on building IcedTea6 > > using Apple's Java 5. I have 'grep'ed all over and cannot figure > > out where this error message is coming from. > > > > (cd > > > /Users/mfranz/developer/icedtea/icedtea6/openjdk-ecj/control/build/bsd-i586/classes > > && /Users/mfranz/developer/icedtea/icedtea6/bootstrap/jdk1.6.0/bin/jar xf > > > /Users/mfranz/developer/icedtea/icedtea6/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar > > > @/Users/mfranz/developer/icedtea/icedtea6/openjdk-ecj/control/build/bsd-i586/tmp/java/plugs/jmf.clist) > > BinaryPlugs import completed: Wed Jan 28 20:31:33 EST 2009 > > make[4]: *** No rule to make target > > > `/Users/mfranz/developer/icedtea/icedtea6/openjdk-ecj/control/build/bsd-i586/hotspot/import/jre/lib/i386/server/libjvm.so', > > needed by > > > `/Users/mfranz/developer/icedtea/icedtea6/openjdk-ecj/control/build/bsd-i586/lib/i386/server/libjvm.so'. > > Stop. > > make[3]: *** [all] Error 1 > > make[2]: *** [all] Error 1 > > make[1]: *** [jdk-build] Error 2 > > make: *** [stamps/icedtea-ecj.stamp] Error 2 > > > > Somewhere it does not know that the shared libs end in .dylib. The > > directory in question has: > > Xusage.txt > > libjsig.dylib > > libjvm.dylib > > > > I was able to get past this step by make sym links to of libjvm.dylib to > > libjvm.so. > > Check out openjdk/jdk/make/common/shared/Platform.gmk: > > 467 # Unix type settings (same for all unix platforms) > 468 ifneq ($(PLATFORM), windows) > ... > 478 # The suffix applied to runtime libraries > 479 LIBRARY_SUFFIX = so This looks like this is fixed in Icedtea7. 520 # Darwin-specific Overrides ifeq ($(SYSTEM_UNAME),Darwin) # The suffix applied to runtime libraries LIBRARY_SUFFIX = dylib # The suffix applied to link libraries LIB_SUFFIX = dylib endif Eric > > > Cheers, > Gary > > -- > http://gbenson.net/ > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090203/1223c294/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Feb 3 03:20:52 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Feb 2009 11:20:52 +0000 Subject: [Bug 291] New: scaron html entity not rendered properly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=291 Summary: scaron html entity not rendered properly Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: ripper42 at gmail.com š is a legal html entity and when used in a JLabel with tags, it should be rendered as ? character. With Sun Java this happens. With OpenJDK this does not happen, it is still rendered as š See attachment as a test case. My system (Ubuntu 8.10): $ java -version java version "1.6.0_0" IcedTea6 1.3.1 (6b12-0ubuntu6.1) Runtime Environment (build 1.6.0_0-b12) OpenJDK Server VM (build 1.6.0_0-b12, mixed mode) I don't know if this should be reported in OpenJDK bugtracker instead of here (IcedTea), but I didn't find any OpenJDK bugtracker. And I am really confused which project is which. So please take look at it, thanks. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Feb 3 03:22:07 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Feb 2009 11:22:07 +0000 Subject: [Bug 291] scaron html entity not rendered properly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=291 ------- Comment #1 from ripper42 at gmail.com 2009-02-03 11:22 ------- Created an attachment (id=157) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=157&action=view) test case -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Feb 3 03:37:27 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Feb 2009 11:37:27 +0000 Subject: [Bug 291] scaron html entity not rendered properly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=291 ------- Comment #2 from ripper42 at gmail.com 2009-02-03 11:37 ------- The same for Š -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Tue Feb 3 04:13:56 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:56 +0000 Subject: changeset in /hg/icedtea6: More build fixes for NIO2. Message-ID: changeset 981d5e01b698 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=981d5e01b698 description: More build fixes for NIO2. 2009-01-12 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java: Fix imports. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/ProtocolFamily.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/SocketOption.java: Add missing files. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java: Fix imports. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MembershipKey.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/NetworkChannel.java: Add missing files. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java: Fix imports. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java: Add missing file. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java: Fix imports. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java: Add missing file. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java: Fix imports. * patches/icedtea-nio2.patch: Add missing files to java/nio/FILES_java.gmk diffstat: 43 files changed, 1355 insertions(+), 47 deletions(-) ChangeLog | 55 + overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/ProtocolFamily.java | 40 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/SocketOption.java | 56 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java | 8 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java | 8 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MembershipKey.java | 183 +++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java | 216 +++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/NetworkChannel.java | 165 ++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java | 8 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java | 8 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java | 5 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java | 4 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java | 4 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java | 4 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java | 5 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java | 4 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java | 4 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java | 3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java | 361 ++++++++++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java | 6 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java | 167 ++++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java | 3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java | 4 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java | 4 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java | 4 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java | 5 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java | 7 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java | 5 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java | 5 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java | 9 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java | 4 patches/icedtea-nio2.patch | 11 diffs (truncated from 1917 to 500 lines): diff -r 2257885742d0 -r 981d5e01b698 ChangeLog --- a/ChangeLog Mon Jan 12 21:46:12 2009 +0000 +++ b/ChangeLog Tue Jan 13 16:37:09 2009 +0000 @@ -1,3 +1,58 @@ 2009-01-12 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/ProtocolFamily.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/SocketOption.java: + Add missing files. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MembershipKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/NetworkChannel.java: + Add missing files. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java: + Add missing file. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java: + Add missing file. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java: + Fix imports. + * patches/icedtea-nio2.patch: + Add missing files to java/nio/FILES_java.gmk + 2009-01-12 Andrew John Hughes Initial import of NIO2 code. diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java Mon Jan 12 21:46:12 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java Tue Jan 13 16:37:09 2009 +0000 @@ -25,7 +25,7 @@ package com.sun.nio.file; -import java.nio.file.CopyOption; +import org.classpath.icedtea.java.nio.file.CopyOption; /** * Defines extended copy options supported on some platforms diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java Mon Jan 12 21:46:12 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java Tue Jan 13 16:37:09 2009 +0000 @@ -25,7 +25,7 @@ package com.sun.nio.file; -import java.nio.file.OpenOption; +import org.classpath.icedtea.java.nio.file.OpenOption; /** * Defines extended open options supported on some platforms diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java Mon Jan 12 21:46:12 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java Tue Jan 13 16:37:09 2009 +0000 @@ -25,7 +25,7 @@ package com.sun.nio.file; -import java.nio.file.WatchEvent.Modifier; +import org.classpath.icedtea.java.nio.file.WatchEvent.Modifier; /** * Defines extended watch event modifiers supported on some platforms diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/ProtocolFamily.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/ProtocolFamily.java Tue Jan 13 16:37:09 2009 +0000 @@ -0,0 +1,40 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.classpath.icedtea.java.net; + +/** + * Represents a family of communication protocols. + * + * @since 1.7 + */ + +public interface ProtocolFamily { + /** + * Returns the name of the protocol family. + */ + String name(); +} diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/SocketOption.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/SocketOption.java Tue Jan 13 16:37:09 2009 +0000 @@ -0,0 +1,56 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.classpath.icedtea.java.net; + +/** + * A socket option associated with a socket. + * + *

In the {@link java.nio.channels channels} package, the {@link + * java.nio.channels.NetworkChannel} interface defines the {@link + * java.nio.channels.NetworkChannel#setOption(SocketOption,Object) setOption} + * and {@link java.nio.channels.NetworkChannel#getOption(SocketOption) getOption} + * methods to set and query the channel's socket options. + * + * @param The type of the socket option value. + * + * @since 1.7 + * + * @see StandardSocketOption + */ + +public interface SocketOption { + + /** + * Returns the name of the socket option. + */ + String name(); + + /** + * Returns the type of the socket option value. + */ + Class type(); +} diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java Mon Jan 12 21:46:12 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java Tue Jan 13 16:37:09 2009 +0000 @@ -26,9 +26,10 @@ package org.classpath.icedtea.java.nio.channels; -import java.nio.channels.spi.AsynchronousChannelProvider; import java.io.IOException; import java.util.concurrent.*; + +import org.classpath.icedtea.java.nio.channels.spi.AsynchronousChannelProvider; /** * A grouping of asynchronous channels for the purpose of resource sharing. diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java Mon Jan 12 21:46:12 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java Tue Jan 13 16:37:09 2009 +0000 @@ -26,14 +26,16 @@ package org.classpath.icedtea.java.nio.channels; -import java.nio.channels.spi.*; import java.util.concurrent.TimeUnit; import java.util.concurrent.Future; import java.io.IOException; -import java.net.SocketOption; import java.net.SocketAddress; -import java.net.ProtocolFamily; import java.nio.ByteBuffer; + +import org.classpath.icedtea.java.net.ProtocolFamily; +import org.classpath.icedtea.java.net.SocketOption; + +import org.classpath.icedtea.java.nio.channels.spi.AsynchronousChannelProvider; /** * An asynchronous channel for datagram-oriented sockets. diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java Mon Jan 12 21:46:12 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java Tue Jan 13 16:37:09 2009 +0000 @@ -26,9 +26,6 @@ package org.classpath.icedtea.java.nio.channels; -import java.nio.file.*; -import java.nio.file.attribute.FileAttribute; -import java.nio.file.spi.*; import java.nio.ByteBuffer; import java.io.IOException; import java.util.concurrent.Future; @@ -36,6 +33,11 @@ import java.util.Set; import java.util.Set; import java.util.HashSet; import java.util.Collections; + +import org.classpath.icedtea.java.nio.file.FileSystemProvider; +import org.classpath.icedtea.java.nio.file.OpenOption; +import org.classpath.icedtea.java.nio.file.Path; +import org.classpath.icedtea.java.nio.file.attribute.FileAttribute; /** * An asynchronous channel for reading, writing, and manipulating a file. diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java Mon Jan 12 21:46:12 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java Tue Jan 13 16:37:09 2009 +0000 @@ -26,11 +26,12 @@ package org.classpath.icedtea.java.nio.channels; -import java.nio.channels.spi.*; import java.net.SocketOption; import java.net.SocketAddress; import java.util.concurrent.Future; import java.io.IOException; + +import org.classpath.icedtea.java.nio.channels.spi.AsynchronousChannelProvider; /** * An asynchronous channel for stream-oriented listening sockets. diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MembershipKey.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MembershipKey.java Tue Jan 13 16:37:09 2009 +0000 @@ -0,0 +1,183 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.classpath.icedtea.java.nio.channels; + +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.io.IOException; + +/** + * A token representing the membership of an Internet Protocol (IP) multicast + * group. + * + *

A membership key may represent a membership to receive all datagrams sent + * to the group, or it may be source-specific, meaning that it + * represents a membership that receives only datagrams from a specific source + * address. Whether or not a membership key is source-specific may be determined + * by invoking its {@link #sourceAddress() sourceAddress} method. + * + *

A membership key is valid upon creation and remains valid until the + * membership is dropped by invoking the {@link #drop() drop} method, or + * the channel is closed. The validity of the membership key may be tested + * by invoking its {@link #isValid() isValid} method. + * + *

Where a membership key is not source-specific and the underlying operation + * system supports source filtering, then the {@link #block block} and {@link + * #unblock unblock} methods can be used to block or unblock multicast datagrams + * from particular source addresses. + * + * @see MulticastChannel + * + * @since 1.7 + */ +public abstract class MembershipKey { + + /** + * Initializes a new instance of this class. + */ + protected MembershipKey() { + } + + /** + * Tells whether or not this membership is valid. + * + *

A multicast group membership is valid upon creation and remains + * valid until the membership is dropped by invoking the {@link #drop() drop} + * method, or the channel is closed. + * + * @return {@code true} if this membership key is valid, {@code false} + * otherwise + */ + public abstract boolean isValid(); + + /** + * Drop membership. + * + *

If the membership key represents a membership to receive all datagrams + * then the membership is dropped and the channel will no longer receive any + * datagrams sent to the group. If the membership key is source-specific + * then the channel will no longer receive datagrams sent to the group from + * that source address. + * + *

After membership is dropped it may still be possible to receive + * datagrams sent to the group. This can arise when datagrams are waiting to + * be received in the socket's receive buffer. After membership is dropped + * then the channel may {@link MulticastChannel#join join} the group again + * in which case a new membership key is returned. + * + *

Upon return, this membership object will be {@link #isValid() invalid}. + * If the multicast group membership is already invalid then invoking this + * method has no effect. Once a multicast group membership is invalid, + * it remains invalid forever. + * + * @throws IOException + * If an I/O error occurs + */ + public abstract void drop() throws IOException; + + /** + * Block multicast datagrams from the given source address. + * + *

If this membership key is not source-specific, and the underlying + * operating system supports source filtering, then this method blocks + * multicast datagrams from the given source address. If the given source + * address is already blocked then this method has no effect. + * After a source address is blocked it may still be possible to receive + * datagams from that source. This can arise when datagrams are waiting to + * be received in the socket's receive buffer. + * + * @param source + * The source address to block + * + * @return This membership key + * + * @throws IllegalArgumentException + * If the {@code source} parameter is not a unicast address or + * is not the same address type as the multicast group + * @throws IllegalStateException + * If this membership key is source-specific or is no longer valid + * @throws UnsupportedOperationException + * If the underlying operating system does not support source + * filtering + * @throws IOException + * If an I/O error occurs + */ + public abstract MembershipKey block(InetAddress source) throws IOException; + + /** + * Unblock multicast datagrams from the given source address that was + * previously blocked using the {@link #block(InetAddress) block} method. + * + * @param source + * The source address to unblock + * + * @return This membership key + * + * @throws IllegalStateException + * If the given source address is not currently blocked or the + * membership key is no longer valid + * @throws IOException + * If an I/O error occurs + */ + public abstract MembershipKey unblock(InetAddress source) throws IOException; + + /** + * Returns the channel for which this membership key was created. This + * method will continue to return the channel even after the membership + * becomes {@link #isValid invalid}. + * + * @return the channel + */ + public abstract MulticastChannel channel(); + + /** + * Returns the multicast group for which this membership key was created. + * This method will continue to return the group even after the membership + * becomes {@link #isValid invalid}. + * + * @return the multicast group + */ + public abstract InetAddress group(); + + /** + * Returns the network interface for which this membership key was created. + * This method will continue to return the network interface even after the + * membership becomes {@link #isValid invalid}. + * + * @return the network interface + */ + public abstract NetworkInterface networkInterface(); + + /** + * Returns the source address if this membership key is source-specific, + * or {@code null} if this membership is not source-specific. + * + * @return The source address if this membership key is source-specific, + * otherwise {@code null} + */ + public abstract InetAddress sourceAddress(); +} diff -r 2257885742d0 -r 981d5e01b698 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java Tue Jan 13 16:37:09 2009 +0000 @@ -0,0 +1,216 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.classpath.icedtea.java.nio.channels; From gnu_andrew at member.fsf.org Tue Feb 3 04:13:55 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:55 +0000 Subject: changeset in /hg/icedtea6: Initial import of NIO2. Message-ID: changeset 2257885742d0 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2257885742d0 description: Initial import of NIO2. 2009-01-12 Andrew John Hughes Initial import of NIO2 code. * patches/ecj/icedtea-pr261.patch: Moved to general patches. * Makefile.am: Add NIO2 patch. * configure.ac: Add --enable-nio2 option (on by default). * overlays/nio2/openjdk/jdk/make/mkdemo/nio/Makefile, * overlays/nio2/openjdk/jdk/make/mkdemo/nio/ZipFileSystem/Makefile, * overlays/nio2/openjdk/jdk/make/mksample/nio/aio/Makefile, * overlays/nio2/openjdk/jdk/make/mksample/nio/file/Makefile, * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/File.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/FilePermission.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Inputs.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Outputs.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousByteChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/Channels.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/CompletionHandler.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/package-info.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/package.html, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessDeniedException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessMode.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AtomicMoveNotSupportedException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedDirectoryStreamException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedFileSystemException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedWatchServiceException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/CopyOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryNotEmptyException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStream.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStreamFilters.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAction.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAlreadyExistsException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileRef.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileStore.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystem.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemAlreadyExistsException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemNotFoundException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitResult.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/InvalidPathException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkPermission.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NoSuchFileException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotDirectoryException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotLinkException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/OpenOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/PathMatcher.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderMismatchException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderNotFoundException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ReadOnlyFileSystemException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardCopyOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardOpenOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardWatchEventKind.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchEvent.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchKey.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchService.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Watchable.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntry.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryFlag.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryPermission.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryType.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributes.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributes.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttribute.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileOwnerAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributes.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/GroupPrincipal.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributes.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermission.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipal.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalLookupService.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalNotFoundException.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/package-info.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/package-info.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/package-info.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/Scanner.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Cancellable.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Groupable.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Cancellable.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Globs.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/MimeType.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffer.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffers.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Reflect.java, * overlays/nio2/openjdk/jdk/src/share/sample/nio/aio/EchoServer.java, * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/AclEdit.java, * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Chmod.java, * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Copy.java, * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/DiskUsage.java, * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/FileType.java, * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/WatchDir.java, * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Xdd.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileStore.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileKey.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStoreAttributes.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/EPollPort.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/SolarisEventPort.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisNativeDispatcher.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisWatchService.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixCopyFile.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c, * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/Iocp.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsException.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributes.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileStore.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathParser.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathType.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUriSupport.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUserPrincipals.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java, * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/Iocp.c, * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c, * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c, * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c, * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c, * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c, * overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/Sanity.java, * overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/sanity.sh, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/io/Inputs/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Attack.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Identity.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/PrivilegedThreadFactory.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Restart.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Unbounded.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/CustomThreadPool.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Lock.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/MyThreadFactory.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.allow, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.deny, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Leaky.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/Channels/Basic2.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/CheckProvider.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/META-INF/services/java.nio.channels.spi.AsynchronousChannelProvider, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Filters.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/SecureDS.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileStore/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileSystem/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ContentType.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/CreateFileTree.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ForceLoad.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/Misc.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/PrintFileTree.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SimpleFileTypeDetector.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SkipSiblings.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/TerminateWalk.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/content_type.sh, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/walk_file_tree.sh, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/CopyAndMove.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/DeleteOnClose.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/InterruptCopy.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Links.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Misc.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/PathOps.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/SBC.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/TemporaryFiles.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/UriImportExport.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/delete_on_close.sh, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/temporary_files.sh, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/PathMatcher/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/TestUtil.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/FileTreeModifier.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/WithSecurityManager.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/denyAll.policy, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndOneLevel.policy, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndTree.policy, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirOnly.policy, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/Attributes/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView/Basic.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/SetDefaultProvider.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/TestProvider.java: Added. * patches/icedtea-nio2.patch: New patch. * patches/icedtea-pr261.patch: Moved from ecj-specific patches. diffstat: 317 files changed, 69760 insertions(+), 45 deletions(-) ChangeLog | 320 + Makefile.am | 17 configure.ac | 8 overlays/nio2/openjdk/jdk/make/mkdemo/nio/Makefile | 37 overlays/nio2/openjdk/jdk/make/mkdemo/nio/ZipFileSystem/Makefile | 40 overlays/nio2/openjdk/jdk/make/mksample/nio/aio/Makefile | 50 overlays/nio2/openjdk/jdk/make/mksample/nio/file/Makefile | 56 overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java | 43 overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java | 50 overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java | 43 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/File.java | 450 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/FilePermission.java | 852 +++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Inputs.java | 391 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Outputs.java | 362 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousByteChannel.java | 206 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannel.java | 118 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java | 316 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java | 705 ++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java | 775 ++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java | 304 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java | 671 ++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/Channels.java | 214 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/CompletionHandler.java | 78 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java | 1160 ++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java | 319 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java | 170 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions | 68 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/package-info.java | 293 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java | 278 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/package.html | 46 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessDeniedException.java | 69 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessMode.java | 50 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AtomicMoveNotSupportedException.java | 57 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedDirectoryStreamException.java | 46 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedFileSystemException.java | 44 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedWatchServiceException.java | 44 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/CopyOption.java | 42 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryNotEmptyException.java | 50 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStream.java | 139 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStreamFilters.java | 211 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAction.java | 65 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAlreadyExistsException.java | 64 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileRef.java | 425 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileStore.java | 173 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystem.java | 426 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemAlreadyExistsException.java | 54 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemException.java | 126 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemNotFoundException.java | 53 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java | 414 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java | 245 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitOption.java | 46 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitResult.java | 63 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java | 176 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java | 404 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/InvalidPathException.java | 131 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkOption.java | 44 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkPermission.java | 108 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NoSuchFileException.java | 64 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotDirectoryException.java | 50 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotLinkException.java | 64 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/OpenOption.java | 46 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java | 1573 +++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/PathMatcher.java | 50 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java | 125 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderMismatchException.java | 54 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderNotFoundException.java | 53 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ReadOnlyFileSystemException.java | 44 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java | 325 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java | 122 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardCopyOption.java | 48 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardOpenOption.java | 126 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardWatchEventKind.java | 95 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchEvent.java | 117 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchKey.java | 138 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchService.java | 179 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Watchable.java | 128 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntry.java | 395 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryFlag.java | 66 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryPermission.java | 131 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryType.java | 57 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java | 212 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AttributeView.java | 119 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java | 713 ++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView.java | 185 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributes.java | 164 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView.java | 180 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributes.java | 85 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttribute.java | 51 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttributeView.java | 44 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileOwnerAttributeView.java | 102 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView.java | 39 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java | 95 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributes.java | 67 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/GroupPrincipal.java | 43 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java | 237 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java | 197 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributes.java | 78 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermission.java | 87 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java | 181 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipal.java | 55 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalLookupService.java | 105 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalNotFoundException.java | 65 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/package-info.java | 120 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/package-info.java | 116 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java | 522 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java | 435 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java | 101 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/package-info.java | 39 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/Scanner.java | 2657 ++++++++++ overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java | 63 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java | 349 + overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java | 164 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java | 67 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java | 219 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java | 540 ++ overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Cancellable.java | 39 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java | 113 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java | 283 + overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Groupable.java | 35 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java | 271 + overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java | 257 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java | 410 + overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java | 429 + overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java | 167 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java | 110 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java | 208 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java | 119 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java | 69 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java | 117 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java | 290 + overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java | 176 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java | 161 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Cancellable.java | 134 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java | 111 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Globs.java | 155 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/MimeType.java | 73 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffer.java | 87 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffers.java | 140 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java | 443 + overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Reflect.java | 63 overlays/nio2/openjdk/jdk/src/share/sample/nio/aio/EchoServer.java | 165 overlays/nio2/openjdk/jdk/src/share/sample/nio/file/AclEdit.java | 301 + overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Chmod.java | 363 + overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Copy.java | 227 overlays/nio2/openjdk/jdk/src/share/sample/nio/file/DiskUsage.java | 78 overlays/nio2/openjdk/jdk/src/share/sample/nio/file/FileType.java | 62 overlays/nio2/openjdk/jdk/src/share/sample/nio/file/WatchDir.java | 204 overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Xdd.java | 119 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java | 56 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java | 93 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java | 96 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java | 242 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java | 314 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java | 678 ++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java | 73 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java | 36 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java | 98 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java | 297 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java | 102 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java | 180 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java | 41 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java | 340 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java | 126 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java | 464 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java | 408 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileStore.java | 102 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java | 178 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java | 41 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java | 293 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java | 56 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java | 771 ++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java | 284 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java | 608 ++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java | 267 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java | 113 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java | 392 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java | 307 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileKey.java | 60 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java | 84 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java | 277 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStoreAttributes.java | 59 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java | 362 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java | 141 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java | 82 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java | 556 ++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java | 1174 ++++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java | 643 ++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java | 216 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java | 175 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/EPollPort.c | 173 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/SolarisEventPort.c | 155 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.c | 47 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c | 53 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c | 205 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c | 160 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c | 156 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisNativeDispatcher.c | 70 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisWatchService.c | 141 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixCopyFile.c | 85 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 1078 ++++ overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c | 104 overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c | 129 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java | 43 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/Iocp.java | 435 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java | 161 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java | 96 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java | 736 ++ overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java | 367 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java | 911 +++ overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileSystemProvider.java | 38 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileTypeDetector.java | 36 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java | 82 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java | 231 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java | 326 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java | 191 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java | 225 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsException.java | 109 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java | 298 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributes.java | 296 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java | 518 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileStore.java | 324 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java | 318 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java | 145 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java | 462 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java | 342 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java | 1131 ++++ overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java | 1294 ++++ overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathParser.java | 225 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathType.java | 38 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java | 123 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java | 392 + overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUriSupport.java | 167 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUserPrincipals.java | 169 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java | 581 ++ overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/Iocp.c | 144 overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c | 132 overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c | 142 overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c | 222 overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c | 62 overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c | 1328 ++++ overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/Sanity.java | 168 overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/sanity.sh | 71 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/io/Inputs/Basic.java | 218 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java | 84 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Attack.java | 63 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Basic.java | 261 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java | 137 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Identity.java | 167 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/PrivilegedThreadFactory.java | 50 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Restart.java | 134 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Unbounded.java | 120 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh | 52 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel/Basic.java | 377 + overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Basic.java | 585 ++ overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/CustomThreadPool.java | 67 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Lock.java | 340 + overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/MyThreadFactory.java | 49 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/Basic.java | 136 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java | 76 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.allow | 3 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.deny | 3 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Basic.java | 805 +++ overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Leaky.java | 104 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/Channels/Basic2.java | 172 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/CheckProvider.java | 38 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/META-INF/services/java.nio.channels.spi.AsynchronousChannelProvider | 1 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java | 62 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java | 62 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh | 71 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Basic.java | 153 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Filters.java | 241 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/SecureDS.java | 370 + overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileStore/Basic.java | 79 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileSystem/Basic.java | 82 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ContentType.java | 91 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/CreateFileTree.java | 96 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ForceLoad.java | 38 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector | 1 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/Misc.java | 126 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/PrintFileTree.java | 78 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SimpleFileTypeDetector.java | 47 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SkipSiblings.java | 85 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/TerminateWalk.java | 70 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/content_type.sh | 70 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/walk_file_tree.sh | 86 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/CopyAndMove.java | 983 +++ overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/DeleteOnClose.java | 77 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/InterruptCopy.java | 117 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Links.java | 143 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Misc.java | 349 + overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/PathOps.java | 646 ++ overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/SBC.java | 468 + overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/TemporaryFiles.java | 76 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/UriImportExport.java | 80 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/delete_on_close.sh | 61 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/temporary_files.sh | 65 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/PathMatcher/Basic.java | 163 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/TestUtil.java | 117 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/Basic.java | 493 + overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/FileTreeModifier.java | 148 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/WithSecurityManager.java | 83 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/denyAll.policy | 3 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndOneLevel.policy | 5 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndTree.policy | 5 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirOnly.policy | 4 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView/Basic.java | 166 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/Attributes/Basic.java | 254 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView/Basic.java | 150 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView/Basic.java | 155 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView/Basic.java | 170 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView/Basic.java | 209 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView/Basic.java | 398 + overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/SetDefaultProvider.java | 44 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/TestProvider.java | 128 patches/ecj/icedtea-pr261.patch | 40 patches/icedtea-nio2.patch | 761 ++ patches/icedtea-pr261.patch | 40 diffs (truncated from 71109 to 500 lines): diff -r e34ba0ba2281 -r 2257885742d0 ChangeLog --- a/ChangeLog Mon Jan 12 17:29:21 2009 +0000 +++ b/ChangeLog Mon Jan 12 21:46:12 2009 +0000 @@ -1,3 +1,323 @@ 2009-01-12 Andrew Haley + + Initial import of NIO2 code. + * patches/ecj/icedtea-pr261.patch: Moved to general patches. + * Makefile.am: Add NIO2 patch. + * configure.ac: Add --enable-nio2 option (on by default). + * overlays/nio2/openjdk/jdk/make/mkdemo/nio/Makefile, + * overlays/nio2/openjdk/jdk/make/mkdemo/nio/ZipFileSystem/Makefile, + * overlays/nio2/openjdk/jdk/make/mksample/nio/aio/Makefile, + * overlays/nio2/openjdk/jdk/make/mksample/nio/file/Makefile, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/File.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/FilePermission.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Inputs.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Outputs.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousByteChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/Channels.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/CompletionHandler.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/package-info.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/package.html, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessDeniedException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessMode.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AtomicMoveNotSupportedException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedDirectoryStreamException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedFileSystemException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedWatchServiceException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/CopyOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryNotEmptyException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStreamFilters.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAction.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAlreadyExistsException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileRef.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileStore.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystem.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemAlreadyExistsException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemNotFoundException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitResult.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/InvalidPathException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkPermission.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NoSuchFileException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotDirectoryException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotLinkException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/OpenOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/PathMatcher.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderMismatchException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderNotFoundException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ReadOnlyFileSystemException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardCopyOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardOpenOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardWatchEventKind.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchEvent.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Watchable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntry.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryFlag.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryPermission.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryType.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttribute.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileOwnerAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/GroupPrincipal.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermission.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipal.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalLookupService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalNotFoundException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/package-info.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/package-info.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/package-info.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/Scanner.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Cancellable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Groupable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Cancellable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Globs.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/MimeType.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffer.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffers.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Reflect.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/aio/EchoServer.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/AclEdit.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Chmod.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Copy.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/DiskUsage.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/FileType.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/WatchDir.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Xdd.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileKey.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStoreAttributes.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/EPollPort.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/SolarisEventPort.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisNativeDispatcher.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisWatchService.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixCopyFile.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/Iocp.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsException.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileStore.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathParser.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathType.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUriSupport.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUserPrincipals.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/Iocp.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c, + * overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/Sanity.java, + * overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/sanity.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/io/Inputs/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Attack.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Identity.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/PrivilegedThreadFactory.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Restart.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Unbounded.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/CustomThreadPool.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Lock.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/MyThreadFactory.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.allow, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.deny, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Leaky.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/Channels/Basic2.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/CheckProvider.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/META-INF/services/java.nio.channels.spi.AsynchronousChannelProvider, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Filters.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/SecureDS.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileStore/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileSystem/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ContentType.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/CreateFileTree.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ForceLoad.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/Misc.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/PrintFileTree.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SimpleFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SkipSiblings.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/TerminateWalk.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/content_type.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/walk_file_tree.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/CopyAndMove.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/DeleteOnClose.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/InterruptCopy.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Links.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Misc.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/PathOps.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/SBC.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/TemporaryFiles.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/UriImportExport.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/delete_on_close.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/temporary_files.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/PathMatcher/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/TestUtil.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/FileTreeModifier.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/WithSecurityManager.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/denyAll.policy, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndOneLevel.policy, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndTree.policy, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirOnly.policy, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/Attributes/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/SetDefaultProvider.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/TestProvider.java: Added. + * patches/icedtea-nio2.patch: New patch. + * patches/icedtea-pr261.patch: Moved from ecj-specific patches. + 2009-01-12 Andrew Haley * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::do_ldc): diff -r e34ba0ba2281 -r 2257885742d0 Makefile.am --- a/Makefile.am Mon Jan 12 17:29:21 2009 +0000 +++ b/Makefile.am Mon Jan 12 21:46:12 2009 +0000 @@ -643,7 +643,8 @@ ICEDTEA_PATCHES += \ patches/icedtea-samejvm-safe.patch \ patches/icedtea-6728542-epoll.patch \ patches/icedtea-io_util-overflow.patch \ - patches/icedtea-cc-interp-jvmti.patch + patches/icedtea-cc-interp-jvmti.patch \ + patches/icedtea-pr261.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ @@ -686,6 +687,10 @@ XRENDER_PATCHES = patches/xrender/icedte XRENDER_PATCHES = patches/xrender/icedtea-???.patch XRENDER_PATCH_FILES = $(sort $(wildcard $(abs_top_srcdir)/$(XRENDER_PATCHES))) ICEDTEA_PATCHES += $(sort $(subst $(abs_top_srcdir)/,,$(XRENDER_PATCH_FILES))) +endif + +if ENABLE_NIO2 +ICEDTEA_PATCHES += patches/icedtea-nio2.patch endif ICEDTEA_PATCHES += \ @@ -883,8 +888,11 @@ clean-patch-fsg: fi stamps/overlay.stamp: stamps/patch.stamp - cp -r $(abs_top_srcdir)/overlays/openjdk/* openjdk/ \ - && touch stamps/overlay.stamp + cp -r $(abs_top_srcdir)/overlays/openjdk/* openjdk/ +if ENABLE_NIO2 + cp -r $(abs_top_srcdir)/overlays/nio2/openjdk/* openjdk/ +endif + touch stamps/overlay.stamp # OpenJDK ecj Source Preparation Targets # ====================================== @@ -927,8 +935,7 @@ ICEDTEA_ECJ_PATCHES = patches/ecj/icedte ICEDTEA_ECJ_PATCHES = patches/ecj/icedtea.patch \ patches/ecj/icedtea-hotspot-$(HSBUILD).patch \ patches/ecj/icedtea-spp.patch \ - patches/ecj/icedtea-jopt.patch \ - patches/ecj/icedtea-pr261.patch + patches/ecj/icedtea-jopt.patch stamps/patch-ecj.stamp: stamps/extract-ecj.stamp mkdir -p stamps; \ diff -r e34ba0ba2281 -r 2257885742d0 configure.ac --- a/configure.ac Mon Jan 12 17:29:21 2009 +0000 +++ b/configure.ac Mon Jan 12 21:46:12 2009 +0000 @@ -148,6 +148,14 @@ AC_ARG_ENABLE([xrender], [ENABLE_XRENDER="${enableval}"], [ENABLE_XRENDER='yes']) AM_CONDITIONAL([ENABLE_XRENDER], [test x$ENABLE_XRENDER = xyes]) AC_MSG_RESULT(${ENABLE_XRENDER}) + +AC_MSG_CHECKING(whether to include NIO2 support) +AC_ARG_ENABLE([nio2], + [AS_HELP_STRING([--disable-nio2], + [Disable inclusion of backported NIO2])], + [ENABLE_XRENDER="${enableval}"], [ENABLE_NIO2='yes']) +AM_CONDITIONAL([ENABLE_NIO2], [test x$ENABLE_NIO2 = xyes]) +AC_MSG_RESULT(${ENABLE_NIO2}) AC_MSG_CHECKING(whether to build VisualVM) AC_ARG_ENABLE([visualvm], diff -r e34ba0ba2281 -r 2257885742d0 overlays/nio2/openjdk/jdk/make/mkdemo/nio/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/make/mkdemo/nio/Makefile Mon Jan 12 21:46:12 2009 +0000 @@ -0,0 +1,37 @@ +# +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +# +# Makefile for building the NIO demo(s) +# + +BUILDDIR = ../.. +PRODUCT = demos +include $(BUILDDIR)/common/Defs.gmk + +SUBDIRS = ZipFileSystem + +all build clean clobber:: + $(SUBDIRS-loop) diff -r e34ba0ba2281 -r 2257885742d0 overlays/nio2/openjdk/jdk/make/mkdemo/nio/ZipFileSystem/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/make/mkdemo/nio/ZipFileSystem/Makefile Mon Jan 12 21:46:12 2009 +0000 @@ -0,0 +1,40 @@ +# +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +BUILDDIR = ../../.. +PRODUCT = demo/nio +DEMONAME = ZipFileSystem +include $(BUILDDIR)/common/Defs.gmk + +DEMO_ROOT = $(SHARE_SRC)/demo/nio/$(DEMONAME) +DEMO_TOPFILES = ./README.txt +DEMO_MAINCLASS = $(DEMONAME) +DEMO_DESTDIR = $(DEMODIR)/nio/$(DEMONAME) + +# +# Demo jar building rules. +# +include $(BUILDDIR)/common/Demo.gmk + diff -r e34ba0ba2281 -r 2257885742d0 overlays/nio2/openjdk/jdk/make/mksample/nio/aio/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/make/mksample/nio/aio/Makefile Mon Jan 12 21:46:12 2009 +0000 @@ -0,0 +1,50 @@ +# +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, From gnu_andrew at member.fsf.org Tue Feb 3 04:13:56 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:56 +0000 Subject: changeset in /hg/icedtea6: Merge. Message-ID: changeset b2de95a6931c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b2de95a6931c description: Merge. diffstat: 7 files changed, 362 insertions(+), 30 deletions(-) ChangeLog | 13 HACKING | 4 Makefile.am | 2 contrib/jck/compile-native-code.sh | 25 + patches/hotspot/14.0b08/icedtea-6791168.patch | 230 ++++++++++++++++ patches/hotspot/14.0b08/icedtea-hotspot-dispatch.patch | 11 patches/hotspot/14.0b08/icedtea-includedb.patch | 107 ++++++- diffs (478 lines): diff -r 981d5e01b698 -r b2de95a6931c ChangeLog --- a/ChangeLog Tue Jan 13 16:37:09 2009 +0000 +++ b/ChangeLog Tue Jan 13 16:38:40 2009 +0000 @@ -52,6 +52,10 @@ 2009-01-12 Andrew John Hughes + + * contrib/jck/compile-native-code.sh: Build with -m32 or -m64. 2009-01-12 Andrew John Hughes @@ -372,6 +376,15 @@ 2009-01-12 Andrew John Hughes + + * patches/hotspot/14.0b08/icedtea-hotspot-dispatch.patch: Remove, + replaced by ... + * patches/hotspot/14.0b08/icedtea-6791168.patch: New. + * patches/hotspot/14.0b08/icedtea-includedb.patch: Update. + * HACKING: Update for the above. + * Makefile.am: Update for the above. 2009-01-12 Andrew Haley diff -r 981d5e01b698 -r b2de95a6931c HACKING --- a/HACKING Tue Jan 13 16:37:09 2009 +0000 +++ b/HACKING Tue Jan 13 16:38:40 2009 +0000 @@ -80,9 +80,9 @@ The following patches are currently appl * icedtea-cc-interp-jvmti.patch: Disable some JVMTI capabilities which are unsupported or do not work with the C++ interpreter. * icedtea-a11y-property-change.patch: Dont fire PropertyChangeEvent if the property hasnt changed. * icedtea-demo-swingapplet.patch: Add missing html file needed to run the demo. -* icedtea-hotspot-dispatch.patch: Fix build failure with GCC-4.4 (PR 38725). +* icedtea-6791168.patch: Fix build failure with GCC-4.4 (PR 38725) and compiler warnings. * icedtea-no-precompiled.patch: Don't use precompiled header files in hotspot. -* icedtea-includedb.patch: Add missing include. +* icedtea-includedb.patch: Add missing include files. * icedtea-awt-window-size.patch: Fix X11 window size calculation (S6721088). The following patches are only applied to OpenJDK6 in IcedTea6: diff -r 981d5e01b698 -r b2de95a6931c Makefile.am --- a/Makefile.am Tue Jan 13 16:37:09 2009 +0000 +++ b/Makefile.am Tue Jan 13 16:38:40 2009 +0000 @@ -651,7 +651,7 @@ ICEDTEA_PATCHES += \ patches/icedtea-format-warnings.patch \ patches/icedtea-fortify-source.patch \ patches/hotspot/$(HSBUILD)/icedtea-sparc-buildfixes.patch \ - patches/hotspot/$(HSBUILD)/icedtea-hotspot-dispatch.patch \ + patches/hotspot/$(HSBUILD)/icedtea-6791168.patch \ patches/hotspot/$(HSBUILD)/icedtea-includedb.patch endif diff -r 981d5e01b698 -r b2de95a6931c contrib/jck/compile-native-code.sh --- a/contrib/jck/compile-native-code.sh Tue Jan 13 16:37:09 2009 +0000 +++ b/contrib/jck/compile-native-code.sh Tue Jan 13 16:38:40 2009 +0000 @@ -17,6 +17,19 @@ if [ -z $basedir ]; then exit 1 fi +arch=$(uname -m) +case "$arch" in + i?86|ppc) + MFLAG=-m32 + ;; + x86_64|ppc64) + MFLAG=-m64 + ;; + *) + echo 1>&2 "error: unhandled arch '$arch'" + exit 1 +esac + LIBDIR=$basedir/lib RESDIR=$basedir/resources @@ -29,31 +42,31 @@ cp -r $JCKDIR/tests/api/javax_management cp -r $JCKDIR/tests/api/javax_management/loading/data/* $RESDIR chmod -R +w $RESDIR -gcc -fPIC -shared -o $LIBDIR/libjckatr.so -I$JCKDIR \ +gcc $MFLAG -fPIC -shared -o $LIBDIR/libjckatr.so -I$JCKDIR \ $JCKDIR/src/share/lib/atr/jckatr.c -gcc -fPIC -shared -o $LIBDIR/libjckjni.so -I$JCKDIR \ +gcc $MFLAG -fPIC -shared -o $LIBDIR/libjckjni.so -I$JCKDIR \ -I$JCKDIR/src/share/lib/jni/include \ -I$JCKDIR/src/share/lib/jni/include/solaris \ $JCKDIR/src/share/lib/jni/jckjni.c -gcc -fPIC -shared -o $LIBDIR/libjckjvmti.so -I$JCKDIR \ +gcc $MFLAG -fPIC -shared -o $LIBDIR/libjckjvmti.so -I$JCKDIR \ -I$JCKDIR/src/share/lib/jvmti/include \ -I$JCKDIR/src/share/lib/jni/include \ -I$JCKDIR/src/share/lib/jni/include/solaris \ $JCKDIR/src/share/lib/jvmti/jckjvmti.c -gcc -fPIC -shared -o $LIBDIR/libsystemInfo.so \ +gcc $MFLAG -fPIC -shared -o $LIBDIR/libsystemInfo.so \ -I$JCKDIR/src/share/lib/jni/include \ -I$JCKDIR/src/share/lib/jni/include/solaris \ $JCKDIR/tests/api/javax_management/loading/data/archives/src/C/com_sun_management_mbeans_loading_SystemInfoUseNativeLib.c -gcc -fPIC -shared -o $LIBDIR/libjmxlibid.so \ +gcc $MFLAG -fPIC -shared -o $LIBDIR/libjmxlibid.so \ -I$JCKDIR/src/share/lib/jni/include \ -I$JCKDIR/src/share/lib/jni/include/solaris \ $JCKDIR/tests/api/javax_management/loading/data/archives/src/C/com_sun_management_mbeans_loading_GetLibIdFromNativeLib.c -gcc -fPIC -shared -o $LIBDIR/libgenrandom.so \ +gcc $MFLAG -fPIC -shared -o $LIBDIR/libgenrandom.so \ -I$JCKDIR/src/share/lib/jni/include \ -I$JCKDIR/src/share/lib/jni/include/solaris \ $JCKDIR/tests/api/javax_management/loading/data/archives/src/C/com_sun_management_mbeans_loading_RandomGen.c diff -r 981d5e01b698 -r b2de95a6931c patches/hotspot/14.0b08/icedtea-6791168.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/14.0b08/icedtea-6791168.patch Tue Jan 13 16:38:40 2009 +0000 @@ -0,0 +1,230 @@ +--- openjdk/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -594,7 +594,7 @@ + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), rax); + + // for c++ interpreter can rsi really be munged? +- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); // restore state ++ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); // restore state + __ movptr(rbx, Address(state, byte_offset_of(BytecodeInterpreter, _method))); // restore method + __ movptr(rdi, Address(state, byte_offset_of(BytecodeInterpreter, _locals))); // get locals pointer + +@@ -658,7 +658,7 @@ + const Address size_of_stack (rbx, methodOopDesc::max_stack_offset()); + // Always give one monitor to allow us to start interp if sync method. + // Any additional monitors need a check when moving the expression stack +- const one_monitor = frame::interpreter_frame_monitor_size() * wordSize; ++ const int one_monitor = frame::interpreter_frame_monitor_size() * wordSize; + __ load_unsigned_word(rax, size_of_stack); // get size of expression stack in words + __ lea(rax, Address(noreg, rax, Interpreter::stackElementScale(), one_monitor)); + __ lea(rax, Address(rax, rdx, Interpreter::stackElementScale(), overhead_size)); +@@ -1829,7 +1829,7 @@ + Label unwind_and_forward; + + // restore state pointer. +- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + + __ movptr(rbx, STATE(_method)); // get method + #ifdef _LP64 +@@ -1877,14 +1877,14 @@ + + // The FPU stack is clean if UseSSE >= 2 but must be cleaned in other cases + if (UseSSE < 2) { +- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + __ movptr(rbx, STATE(_result._to_call._callee)); // get method just executed + __ movl(rcx, Address(rbx, methodOopDesc::result_index_offset())); + __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_FLOAT)); // Result stub address array index + __ jcc(Assembler::equal, do_float); + __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_DOUBLE)); // Result stub address array index + __ jcc(Assembler::equal, do_double); +-#ifdef COMPILER2 ++#if !defined(_LP64) || defined(COMPILER1) || !defined(COMPILER2) + __ empty_FPU_stack(); + #endif // COMPILER2 + __ jmp(done_conv); +@@ -1928,7 +1928,7 @@ + + // Restore rsi/r13 as compiled code may not preserve it + +- __ lea(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + + // restore stack to what we had when we left (in case i2c extended it) + +@@ -1942,7 +1942,7 @@ + #else + __ movptr(rcx, STATE(_thread)); // get thread + __ cmpptr(Address(rcx, Thread::pending_exception_offset()), (int32_t)NULL_WORD); +-#endif / __LP64 ++#endif // _LP64 + __ jcc(Assembler::notZero, return_with_exception); + + // get method just executed +--- openjdk/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp 2009-01-13 10:17:05.000000000 +0000 +@@ -139,7 +139,7 @@ + #ifdef CC_INTERP + + inline interpreterState frame::get_interpreterState() const { +- return ((interpreterState)addr_at( -sizeof(BytecodeInterpreter)/wordSize )); ++ return ((interpreterState)addr_at( -((int)sizeof(BytecodeInterpreter))/wordSize )); + } + + inline intptr_t* frame::sender_sp() const { +--- openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -6943,29 +6943,32 @@ + + Label slow_case, done; + +- // x ?<= pi/4 +- fld_d(ExternalAddress((address)&pi_4)); +- fld_s(1); // Stack: X PI/4 X +- fabs(); // Stack: |X| PI/4 X +- fcmp(tmp); +- jcc(Assembler::above, slow_case); +- +- // fastest case: -pi/4 <= x <= pi/4 +- switch(trig) { +- case 's': +- fsin(); +- break; +- case 'c': +- fcos(); +- break; +- case 't': +- ftan(); +- break; +- default: +- assert(false, "bad intrinsic"); +- break; ++ ExternalAddress pi4_adr = (address)&pi_4; ++ if (reachable(pi4_adr)) { ++ // x ?<= pi/4 ++ fld_d(pi4_adr); // ExternalAddress((address)&pi_4)); ++ fld_s(1); // Stack: X PI/4 X ++ fabs(); // Stack: |X| PI/4 X ++ fcmp(tmp); ++ jcc(Assembler::above, slow_case); ++ ++ // fastest case: -pi/4 <= x <= pi/4 ++ switch(trig) { ++ case 's': ++ fsin(); ++ break; ++ case 'c': ++ fcos(); ++ break; ++ case 't': ++ ftan(); ++ break; ++ default: ++ assert(false, "bad intrinsic"); ++ break; ++ } ++ jmp(done); + } +- jmp(done); + + // slow case: runtime call + bind(slow_case); +--- openjdk/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -2954,10 +2954,16 @@ + __ pushptr(Address(rcx, 0)); // Save return address + __ enter(); // Save old & set new rbp + __ subptr(rsp, rbx); // Prolog ++#ifdef CC_INTERP ++ __ movptr(Address(rbp, ++ -(sizeof(BytecodeInterpreter)) + in_bytes(byte_offset_of(BytecodeInterpreter, _sender_sp))), ++ sender_sp); // Make it walkable ++#else // CC_INTERP + __ movptr(Address(rbp, frame::interpreter_frame_sender_sp_offset * wordSize), + sender_sp); // Make it walkable + // This value is corrected by layout_activation_impl + __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD ); ++#endif // CC_INTERP + __ mov(sender_sp, rsp); // Pass sender_sp to next frame + __ addptr(rsi, wordSize); // Bump array pointer (sizes) + __ addptr(rcx, wordSize); // Bump array pointer (pcs) +--- openjdk/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp 2009-01-13 10:17:05.000000000 +0000 +@@ -213,7 +213,7 @@ + + inline jint BytecodeInterpreter::VMintDiv(jint op1, jint op2) { + /* it's possible we could catch this special case implicitly */ +- if (op1 == 0x80000000 && op2 == -1) return op1; ++ if ((juint)op1 == 0x80000000 && op2 == -1) return op1; + else return op1 / op2; + } + +@@ -231,7 +231,7 @@ + + inline jint BytecodeInterpreter::VMintRem(jint op1, jint op2) { + /* it's possible we could catch this special case implicitly */ +- if (op1 == 0x80000000 && op2 == -1) return 0; ++ if ((juint)op1 == 0x80000000 && op2 == -1) return 0; + else return op1 % op2; + } + +--- openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -30,7 +30,7 @@ + + #ifdef CC_INTERP + void InterpreterMacroAssembler::get_method(Register reg) { +- movptr(reg, Address(rbp, -(sizeof(BytecodeInterpreter) + 2 * wordSize))); ++ movptr(reg, Address(rbp, -((int)sizeof(BytecodeInterpreter) + 2 * wordSize))); + movptr(reg, Address(reg, byte_offset_of(BytecodeInterpreter, _method))); + } + #endif // CC_INTERP +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp.orig 2009-01-13 10:16:45.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2009-01-13 10:17:05.000000000 +0000 +@@ -163,7 +163,7 @@ + #ifdef USELABELS + // Have to do this dispatch this way in C++ because otherwise gcc complains about crossing an + // initialization (which is is the initialization of the table pointer...) +-#define DISPATCH(opcode) goto *dispatch_table[opcode] ++#define DISPATCH(opcode) goto *(void*)dispatch_table[opcode] + #define CONTINUE { \ + opcode = *pc; \ + DO_UPDATE_INSTRUCTION_COUNT(opcode); \ +@@ -341,7 +341,7 @@ + */ + #undef CHECK_NULL + #define CHECK_NULL(obj_) \ +- if ((obj_) == 0) { \ ++ if ((obj_) == NULL) { \ + VM_JAVA_ERROR(vmSymbols::java_lang_NullPointerException(), ""); \ + } + +@@ -1362,7 +1362,7 @@ + + #define NULL_COMPARISON_NOT_OP(name) \ + CASE(_if##name): { \ +- int skip = (!(STACK_OBJECT(-1) == 0)) \ ++ int skip = (!(STACK_OBJECT(-1) == NULL)) \ + ? (int16_t)Bytes::get_Java_u2(pc + 1) : 3; \ + address branch_pc = pc; \ + UPDATE_PC_AND_TOS(skip, -1); \ +@@ -1372,7 +1372,7 @@ + + #define NULL_COMPARISON_OP(name) \ + CASE(_if##name): { \ +- int skip = ((STACK_OBJECT(-1) == 0)) \ ++ int skip = ((STACK_OBJECT(-1) == NULL)) \ + ? (int16_t)Bytes::get_Java_u2(pc + 1) : 3; \ + address branch_pc = pc; \ + UPDATE_PC_AND_TOS(skip, -1); \ +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp.orig 2009-01-13 10:15:42.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2009-01-13 10:17:05.000000000 +0000 +@@ -66,7 +66,6 @@ + friend class InterpreterGenerator; + friend class InterpreterMacroAssembler; + friend class frame; +-friend class SharedRuntime; + friend class VMStructs; + + public: diff -r 981d5e01b698 -r b2de95a6931c patches/hotspot/14.0b08/icedtea-hotspot-dispatch.patch --- a/patches/hotspot/14.0b08/icedtea-hotspot-dispatch.patch Tue Jan 13 16:37:09 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp.old 2009-01-06 16:16:57.000000000 -0700 -+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2009-01-06 16:17:53.000000000 -0700 -@@ -163,7 +163,7 @@ - #ifdef USELABELS - // Have to do this dispatch this way in C++ because otherwise gcc complains about crossing an - // initialization (which is is the initialization of the table pointer...) --#define DISPATCH(opcode) goto *dispatch_table[opcode] -+#define DISPATCH(opcode) goto *(void *)dispatch_table[opcode] - #define CONTINUE { \ - opcode = *pc; \ - DO_UPDATE_INSTRUCTION_COUNT(opcode); \ diff -r 981d5e01b698 -r b2de95a6931c patches/hotspot/14.0b08/icedtea-includedb.patch --- a/patches/hotspot/14.0b08/icedtea-includedb.patch Tue Jan 13 16:37:09 2009 +0000 +++ b/patches/hotspot/14.0b08/icedtea-includedb.patch Tue Jan 13 16:38:40 2009 +0000 @@ -1,10 +1,97 @@ ---- openjdk/hotspot/src/share/vm/includeDB_core.orig 2008-11-21 17:11:18.000000000 -0700 -+++ openjdk/hotspot/src/share/vm/includeDB_core 2009-01-08 14:32:58.000000000 -0700 -@@ -1314,6 +1314,7 @@ - cppInterpreter_.cpp interpreterRuntime.hpp - cppInterpreter_.cpp interpreter.hpp - cppInterpreter_.cpp interpreterGenerator.hpp -+cppInterpreter_.cpp interfaceSupport.hpp - cppInterpreter_.cpp jvmtiExport.hpp - cppInterpreter_.cpp jvmtiThreadState.hpp - cppInterpreter_.cpp methodDataOop.hpp +--- openjdk/hotspot/src/share/vm/includeDB_compiler2.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/includeDB_compiler2 2009-01-13 10:11:17.000000000 +0000 +@@ -140,6 +140,7 @@ + c2_globals_.hpp macros.hpp + + c2_init_.cpp compile.hpp ++c2_init_.cpp node.hpp + + c2compiler.cpp ad_.hpp + c2compiler.cpp c2compiler.hpp +@@ -839,6 +840,7 @@ + phase.cpp compile.hpp + phase.cpp compileBroker.hpp + phase.cpp nmethod.hpp ++phase.cpp node.hpp + phase.cpp phase.hpp + + phase.hpp port.hpp +--- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1 2009-01-13 10:11:17.000000000 +0000 +@@ -34,6 +34,7 @@ + collectionSetChooser.cpp g1CollectedHeap.hpp + collectionSetChooser.cpp g1CollectorPolicy.hpp + collectionSetChooser.cpp collectionSetChooser.hpp ++collectionSetChooser.cpp space.inline.hpp + + collectionSetChooser.hpp heapRegion.hpp + collectionSetChooser.hpp growableArray.hpp +@@ -44,6 +45,7 @@ + concurrentG1Refine.cpp copy.hpp + concurrentG1Refine.cpp g1CollectedHeap.hpp + concurrentG1Refine.cpp g1RemSet.hpp ++concurrentG1Refine.cpp space.inline.hpp + + concurrentG1Refine.hpp globalDefinitions.hpp + +@@ -264,7 +266,7 @@ + heapRegion.cpp iterator.hpp + heapRegion.cpp oop.inline.hpp + +-heapRegion.hpp space.hpp ++heapRegion.hpp space.inline.hpp + heapRegion.hpp spaceDecorator.hpp + heapRegion.hpp g1BlockOffsetTable.inline.hpp + heapRegion.hpp watermark.hpp +--- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2009-01-13 10:11:17.000000000 +0000 +@@ -306,6 +306,8 @@ + psPermGen.cpp psMarkSweepDecorator.hpp + psPermGen.cpp psParallelCompact.hpp + psPermGen.cpp psPermGen.hpp ++psPermGen.cpp markOop.inline.hpp ++psPermGen.cpp markSweep.inline.hpp + + psPermGen.hpp psOldGen.hpp + +--- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2009-01-13 10:11:17.000000000 +0000 +@@ -28,6 +28,7 @@ + binaryTreeDictionary.cpp binaryTreeDictionary.hpp + binaryTreeDictionary.cpp globals.hpp + binaryTreeDictionary.cpp ostream.hpp ++binaryTreeDictionary.cpp space.inline.hpp + binaryTreeDictionary.cpp spaceDecorator.hpp + + binaryTreeDictionary.hpp freeBlockDictionary.hpp +--- openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2009-01-13 10:11:17.000000000 +0000 +@@ -29,6 +29,8 @@ + asParNewGeneration.cpp cmsAdaptiveSizePolicy.hpp + asParNewGeneration.cpp cmsGCAdaptivePolicyCounters.hpp + asParNewGeneration.cpp defNewGeneration.inline.hpp ++asParNewGeneration.cpp markOop.inline.hpp ++asParNewGeneration.cpp markSweep.inline.hpp + asParNewGeneration.cpp oop.pcgc.inline.hpp + asParNewGeneration.cpp parNewGeneration.hpp + asParNewGeneration.cpp referencePolicy.hpp +@@ -40,7 +42,7 @@ + parCardTableModRefBS.cpp java.hpp + parCardTableModRefBS.cpp mutexLocker.hpp + parCardTableModRefBS.cpp sharedHeap.hpp +-parCardTableModRefBS.cpp space.hpp ++parCardTableModRefBS.cpp space.inline.hpp + parCardTableModRefBS.cpp universe.hpp + parCardTableModRefBS.cpp virtualspace.hpp + +--- openjdk/hotspot/src/share/vm/includeDB_features.orig 2009-01-13 10:10:44.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/includeDB_features 2009-01-13 10:11:17.000000000 +0000 +@@ -59,6 +59,8 @@ + + dump_.cpp assembler_.inline.hpp + dump_.cpp compactingPermGenGen.hpp ++dump_.cpp generation.inline.hpp ++dump_.cpp space.inline.hpp + + forte.cpp collectedHeap.inline.hpp + forte.cpp debugInfoRec.hpp From gnu_andrew at member.fsf.org Tue Feb 3 04:13:56 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:56 +0000 Subject: changeset in /hg/icedtea6: More NIO build fixes. Message-ID: changeset 3f4c11b93ded in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3f4c11b93ded description: More NIO build fixes. 2009-01-13 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardSocketOption.java: Added missing files. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java: Fixed imports. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java: Added. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java: Added to allow access to private members of java.util.concurrent.ThreadPoolExecutor. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java: Fix imports. * patches/icedtea-nio2.patch: Patch ThreadPoolExecutor to allow access to private variables, add missing files to nio/FILES_java.gmk diffstat: 32 files changed, 1989 insertions(+), 31 deletions(-) ChangeLog | 41 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java | 46 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardSocketOption.java | 370 ++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java | 5 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java | 12 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java | 4 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java | 4 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java | 6 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java | 1 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java | 1 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java | 1 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java | 1 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java | 11 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java | 18 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java | 10 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java | 1364 ++++++++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java | 55 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java | 3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java | 3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java | 3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java | 2 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java | 1 patches/icedtea-nio2.patch | 35 diffs (truncated from 2405 to 500 lines): diff -r b2de95a6931c -r 3f4c11b93ded ChangeLog --- a/ChangeLog Tue Jan 13 16:38:40 2009 +0000 +++ b/ChangeLog Wed Jan 14 05:27:57 2009 +0000 @@ -1,3 +1,44 @@ 2009-01-12 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardSocketOption.java: + Added missing files. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java: + Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java: + Added. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java: + Added to allow access to private members of java.util.concurrent.ThreadPoolExecutor. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java: + Fix imports. + * patches/icedtea-nio2.patch: + Patch ThreadPoolExecutor to allow access to private variables, add missing files to + nio/FILES_java.gmk + 2009-01-12 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java, diff -r b2de95a6931c -r 3f4c11b93ded overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java Wed Jan 14 05:27:57 2009 +0000 @@ -0,0 +1,46 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.classpath.icedtea.java.net; + +/** + * Defines the standard families of communication protocols. + * + * @since 1.7 + */ + +public enum StandardProtocolFamily implements ProtocolFamily { + + /** + * Internet Protocol Version 4 (IPv4) + */ + INET, + + /** + * Internet Protocol Version 6 (IPv6) + */ + INET6 +} diff -r b2de95a6931c -r 3f4c11b93ded overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardSocketOption.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardSocketOption.java Wed Jan 14 05:27:57 2009 +0000 @@ -0,0 +1,370 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.classpath.icedtea.java.net; + +import java.net.NetworkInterface; + +/** + * Defines the standard socket options. + * + *

The {@link SocketOption#name name} of each socket option defined by this + * class is its field name. + * + *

In this release, the socket options defined here are used by {@link + * java.nio.channels.NetworkChannel network} channels in the {@link + * java.nio.channels channels} package. + * + * @since 1.7 + */ + +public final class StandardSocketOption { + private StandardSocketOption() { } + + // -- SOL_SOCKET -- + + /** + * Allow transmission of broadcast datagrams. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. The option is specific to + * datagram-oriented sockets sending to {@link java.net.Inet4Address IPv4} + * broadcast addresses. When the socket option is enabled then the socket + * can be used to send broadcast datagrams. + * + *

The initial value of this socket option is {@code FALSE}. The socket + * option may be enabled or disabled at any time. Some operating systems may + * require that the Java virtual machine be started with implementation + * specific privileges to enable this option or send broadcast datagrams. + * + * @see RFC 929: + * Broadcasting Internet Datagrams + * @see DatagramSocket#setBroadcast + */ + public static final SocketOption SO_BROADCAST = + new StdSocketOption("SO_BROADCAST", Boolean.class); + + /** + * Keep connection alive. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. When the {@code SO_KEEPALIVE} + * option is enabled the operating system may use a keep-alive + * mechanism to periodically probe the other end of a connection when the + * connection is otherwise idle. The exact semantics of the keep alive + * mechanism is system dependent and therefore unspecified. + * + *

The initial value of this socket option is {@code FALSE}. The socket + * option may be enabled or disabled at any time. + * + * @see RFC 1122 + * Requirements for Internet Hosts -- Communication Layers + * @see Socket#setKeepAlive + */ + public static final SocketOption SO_KEEPALIVE = + new StdSocketOption("SO_KEEPALIVE", Boolean.class); + + /** + * The size of the socket send buffer. + * + *

The value of this socket option is an {@code Integer} that is the + * size of the socket send buffer in bytes. The socket send buffer is an + * output buffer used by the networking implementation. It may need to be + * increased for high-volume connections. The value of the socket option is + * a hint to the implementation to size the buffer and the actual + * size may differ. The socket option can be queried to retrieve the actual + * size. + * + *

For datagram-oriented sockets, the size of the send buffer may limit + * the size of the datagrams that may be sent by the socket. Whether + * datagrams larger than the buffer size are sent or discarded is system + * dependent. + * + *

The initial/default size of the socket send buffer and the range of + * allowable values is system dependent although a negative size is not + * allowed. An attempt to set the socket send buffer to larger than its + * maximum size causes it to be set to its maximum size. + * + *

An implementation allows this socket option to be set before the + * socket is bound or connected. Whether an implementation allows the + * socket send buffer to be changed after the socket is bound is system + * dependent. + * + * @see Socket#setSendBufferSize + */ + public static final SocketOption SO_SNDBUF = + new StdSocketOption("SO_SNDBUF", Integer.class); + + + /** + * The size of the socket receive buffer. + * + *

The value of this socket option is an {@code Integer} that is the + * size of the socket receive buffer in bytes. The socket receive buffer is + * an input buffer used by the networking implementation. It may need to be + * increased for high-volume connections or decreased to limit the possible + * backlog of incoming data. The value of the socket option is a + * hint to the implementation to size the buffer and the actual + * size may differ. + * + *

For datagram-oriented sockets, the size of the receive buffer may + * limit the size of the datagrams that can be received. Whether datagrams + * larger than the buffer size can be received is system dependent. + * Increasing the socket receive buffer may be important for cases where + * datagrams arrive in bursts faster than they can be processed. + * + *

In the case of stream-oriented sockets and the TCP/IP protocol, the + * size of the socket receive buffer may be used when advertising the size + * of the TCP receive window to the remote peer. + * + *

The initial/default size of the socket receive buffer and the range + * of allowable values is system dependent although a negative size is not + * allowed. An attempt to set the socket receive buffer to larger than its + * maximum size causes it to be set to its maximum size. + * + *

An implementation allows this socket option to be set before the + * socket is bound or connected. Whether an implementation allows the + * socket receive buffer to be changed after the socket is bound is system + * dependent. + * + * @see RFC 1323: TCP + * Extensions for High Performance + * @see Socket#setReceiveBufferSize + * @see ServerSocket#setReceiveBufferSize + */ + public static final SocketOption SO_RCVBUF = + new StdSocketOption("SO_RCVBUF", Integer.class); + + /** + * Re-use address. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. The exact semantics of this + * socket option are socket type and system dependent. + * + *

In the case of stream-oriented sockets, this socket option will + * usually determine whether the socket can be bound to a socket address + * when a previous connection involving that socket address is in the + * TIME_WAIT state. On implementations where the semantics differ, + * and the socket option is not required to be enabled in order to bind the + * socket when a previous connection is in this state, then the + * implementation may choose to ignore this option. + * + *

For datagram-oriented sockets the socket option is used to allow + * multiple programs bind to the same address. This option should be enabled + * when the socket is to be used for Internet Protocol (IP) multicasting. + * + *

An implementation allows this socket option to be set before the + * socket is bound or connected. Changing the value of this socket option + * after the socket is bound has no effect. The default value of this + * socket option is system dependent. + * + * @see RFC 793: Transmission + * Control Protocol + * @see ServerSocket#setReuseAddress + */ + public static final SocketOption SO_REUSEADDR = + new StdSocketOption("SO_REUSEADDR", Boolean.class); + + /** + * Linger on close if data is present. + * + *

The value of this socket option is an {@code Integer} that controls + * the action taken when unsent data is queued on the socket and a method + * to close the socket is invoked. If the value of the socket option is zero + * or greater, then it represents a timeout value, in seconds, known as the + * linger interval. The linger interval is the timeout for the + * {@code close} method to block while the operating system attempts to + * transmit the unsent data or it decides that it is unable to transmit the + * data. If the value of the socket option is less than zero then the option + * is disabled. In that case the {@code close} method does not wait until + * unsent data is transmitted; if possible the operating system will transmit + * any unsent data before the connection is closed. + * + *

This socket option is intended for use with sockets that are configured + * in {@link java.nio.channels.SelectableChannel#isBlocking() blocking} mode + * only. The behavior of the {@code close} method when this option is + * enabled on a non-blocking socket is not defined. + * + *

The initial value of this socket option is a negative value, meaning + * that the option is disabled. The option may be enabled, or the linger + * interval changed, at any time. The maximum value of the linger interval + * is system dependent. Setting the linger interval to a value that is + * greater than its maximum value causes the linger interval to be set to + * its maximum value. + * + * @see Socket#setSoLinger + */ + public static final SocketOption SO_LINGER = + new StdSocketOption("SO_LINGER", Integer.class); + + + // -- IPPROTO_IP -- + + /** + * The Type of Service (ToS) octet in the Internet Protocol (IP) header. + * + *

The value of this socket option is an {@code Integer} representing + * the value of the ToS octet in IP packets sent by sockets to an {@link + * StandardProtocolFamily#INET IPv4} socket. The interpretation of the ToS + * octet is network specific and is not defined by this class. Further + * information on the ToS octet can be found in RFC 1349 and RFC 2474. The value + * of the socket option is a hint. An implementation may ignore the + * value, or ignore specific values. + * + *

The initial/default value of the TOS field in the ToS octet is + * implementation specific but will typically be {@code 0}. For + * datagram-oriented sockets the option may be configured at any time after + * the socket has been bound. The new value of the octet is used when sending + * subsequent datagrams. It is system dependent whether this option can be + * queried or changed prior to binding the socket. + * + *

The behavior of this socket option on a stream-oriented socket, or an + * {@link StandardProtocolFamily#INET6 IPv6} socket, is not defined in this + * release. + * + * @see DatagramSocket#setTrafficClass + */ + public static final SocketOption IP_TOS = + new StdSocketOption("IP_TOS", Integer.class); + + /** + * The network interface for Internet Protocol (IP) multicast datagrams. + * + *

The value of this socket option is a {@link NetworkInterface} that + * represents the outgoing interface for multicast datagrams sent by the + * datagram-oriented socket. For {@link StandardProtocolFamily#INET6 IPv6} + * sockets then it is system dependent whether setting this option also + * sets the outgoing interface for multlicast datagrams sent to IPv4 + * addresses. + * + *

The initial/default value of this socket option may be {@code null} + * to indicate that outgoing interface will be selected by the operating + * system, typically based on the network routing tables. An implementation + * allows this socket option to be set after the socket is bound. Whether + * the socket option can be queried or changed prior to binding the socket + * is system dependent. + * + * @see java.nio.channels.MulticastChannel + * @see MulticastSocket#setInterface + */ + public static final SocketOption IP_MULTICAST_IF = + new StdSocketOption("IP_MULTICAST_IF", NetworkInterface.class); + + /** + * The time-to-live for Internet Protocol (IP) multicast datagrams. + * + *

The value of this socket option is an {@code Integer} in the range + * 0 <= value <= 255. It is used to control + * the scope of multicast datagrams sent by the datagram-oriented socket. + * In the case of an {@link StandardProtocolFamily#INET IPv4} socket + * the option is the time-to-live (TTL) on multicast datagrams sent by the + * socket. Datagrams with a TTL of zero are not transmitted on the network + * but may be delivered locally. In the case of an {@link + * StandardProtocolFamily#INET6 IPv6} socket the option is the + * hop limit which is number of hops that the datagram can + * pass through before expiring on the network. For IPv6 sockets it is + * system dependent whether the option also sets the time-to-live + * on multicast datagrams sent to IPv4 addresses. + * + *

The initial/default value of the time-to-live setting is typically + * {@code 1}. An implementation allows this socket option to be set after + * the socket is bound. Whether the socket option can be queried or changed + * prior to binding the socket is system dependent. + * + * @see java.nio.channels.MulticastChannel + * @see MulticastSocket#setTimeToLive + */ + public static final SocketOption IP_MULTICAST_TTL = + new StdSocketOption("IP_MULTICAST_TTL", Integer.class); + + /** + * Loopback for Internet Protocol (IP) multicast datagrams. + * + *

The value of this socket option is a {@code Boolean} that controls + * the loopback of multicast datagrams. The value of the socket + * option represents if the option is enabled or disabled. + * + *

The exact semantics of this socket options are system dependent. + * In particular, it is system dependent whether the loopback applies to + * multicast datagrams sent from the socket or received by the socket. + * For {@link StandardProtocolFamily#INET6 IPv6} sockets then it is + * system dependent whether the option also applies to multicast datagrams + * sent to IPv4 addresses. + * + *

The initial/default value of this socket option is {@code TRUE}. An + * implementation allows this socket option to be set after the socket is + * bound. Whether the socket option can be queried or changed prior to + * binding the socket is system dependent. + * + * @see java.nio.channels.MulticastChannel + * @see MulticastSocket#setLoopbackMode + */ + public static final SocketOption IP_MULTICAST_LOOP = + new StdSocketOption("IP_MULTICAST_LOOP", Boolean.class); + + + // -- IPPROTO_TCP -- + + /** + * Disable the Nagle algorithm. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. The socket option is specific to + * stream-oriented sockets using the TCP/IP protocol. TCP/IP uses an algorithm + * known as The Nagle Algorithm to coalesce short segments and + * improve network efficiency. + * + *

The default value of this socket option is {@code FALSE}. The + * socket option should only be enabled in cases where it is known that the + * coalescing impacts performance. The socket option may be enabled at any + * time. In other words, the Nagle Algorithm can be disabled. Once the option + * is enabled, it is system dependent whether it can be subsequently + * disabled. If it cannot, then invoking the {@code setOption} method to + * disable the option has no effect. + * + * @see RFC 1122: + * Requirements for Internet Hosts -- Communication Layers + * @see Socket#setTcpNoDelay + */ + public static final SocketOption TCP_NODELAY = + new StdSocketOption("TCP_NODELAY", Boolean.class); + + + private static class StdSocketOption implements SocketOption { + private final String name; + private final Class type; + StdSocketOption(String name, Class type) { + this.name = name; + this.type = type; + } + public String name() { return name; } + public Class type() { return type; } + public String toString() { return name; } + } +} diff -r b2de95a6931c -r 3f4c11b93ded overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java Tue Jan 13 16:38:40 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java Wed Jan 14 05:27:57 2009 +0000 @@ -34,10 +34,10 @@ import java.util.HashSet; import java.util.HashSet; import java.util.Collections; -import org.classpath.icedtea.java.nio.file.FileSystemProvider; import org.classpath.icedtea.java.nio.file.OpenOption; import org.classpath.icedtea.java.nio.file.Path; import org.classpath.icedtea.java.nio.file.attribute.FileAttribute; +import org.classpath.icedtea.java.nio.file.spi.FileSystemProvider; /** * An asynchronous channel for reading, writing, and manipulating a file. diff -r b2de95a6931c -r 3f4c11b93ded overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java Tue Jan 13 16:38:40 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java Wed Jan 14 05:27:57 2009 +0000 @@ -26,11 +26,11 @@ package org.classpath.icedtea.java.nio.channels; -import java.net.SocketOption; import java.net.SocketAddress; import java.util.concurrent.Future; import java.io.IOException; +import org.classpath.icedtea.java.net.SocketOption; From gnu_andrew at member.fsf.org Tue Feb 3 04:13:57 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:57 +0000 Subject: changeset in /hg/icedtea6: Add SharedSecrets stuff. Message-ID: changeset 9eb9c1670c99 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9eb9c1670c99 description: Add SharedSecrets stuff. 2009-01-13 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java: Add missing SharedSecrets files. diffstat: 3 files changed, 135 insertions(+) ChangeLog | 6 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java | 43 +++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java | 86 ++++++++++ diffs (150 lines): diff -r 3f4c11b93ded -r 9eb9c1670c99 ChangeLog --- a/ChangeLog Wed Jan 14 05:27:57 2009 +0000 +++ b/ChangeLog Wed Jan 14 05:29:15 2009 +0000 @@ -1,3 +1,9 @@ 2009-01-13 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java: + Add missing SharedSecrets files. + 2009-01-13 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java, diff -r 3f4c11b93ded -r 9eb9c1670c99 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java Wed Jan 14 05:29:15 2009 +0000 @@ -0,0 +1,43 @@ +/* JavaIODeleteOnExitAccess.java + Copyright (C) 2009 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package org.classpath.icedtea.misc; + +public interface JavaIODeleteOnExitAccess +{ + void add(String path); +} diff -r 3f4c11b93ded -r 9eb9c1670c99 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java Wed Jan 14 05:29:15 2009 +0000 @@ -0,0 +1,86 @@ +/* SharedSecrets.java + Copyright (C) 2009 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +/** Based on sun.misc.SharedSecrets */ +package org.classpath.icedtea.misc; + +import sun.misc.Unsafe; + +/** A repository of "shared secrets", which are a mechanism for + calling implementation-private methods in another package without + using reflection. A package-private class implements a public + interface and provides the ability to call package-private methods + within that package; the object implementing that interface is + provided through a third package to which access is restricted. + This framework avoids the primary disadvantage of using reflection + for this purpose, namely the loss of compile-time checking. */ + +public class SharedSecrets +{ + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static JavaIODeleteOnExitAccess javaIODeleteOnExitAccess; + private static JavaUtilConcurrentThreadPoolExecutorAccess javaUtilConcurrentThreadPoolExecutorAccess; + + public static void setJavaIODeleteOnExitAccess(JavaIODeleteOnExitAccess jida) + { + javaIODeleteOnExitAccess = jida; + } + + public static JavaIODeleteOnExitAccess getJavaIODeleteOnExitAccess() + { + if (javaIODeleteOnExitAccess == null) + { + unsafe.ensureClassInitialized(java.io.File.class); + } + return javaIODeleteOnExitAccess; + } + + public static void setJavaUtilConcurrentThreadPoolExecutorAccess(JavaUtilConcurrentThreadPoolExecutorAccess juctpea) + { + javaUtilConcurrentThreadPoolExecutorAccess = juctpea; + } + + public static JavaUtilConcurrentThreadPoolExecutorAccess getJavaUtilConcurrentThreadPoolExecutorAccess() + { + if (javaUtilConcurrentThreadPoolExecutorAccess == null) + { + unsafe.ensureClassInitialized(java.util.concurrent.ThreadPoolExecutor.class); + } + return javaUtilConcurrentThreadPoolExecutorAccess; + } + +} From gnu_andrew at member.fsf.org Tue Feb 3 04:13:57 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:57 +0000 Subject: changeset in /hg/icedtea6: Fix some sun.nio.ch classes. Message-ID: changeset dbdaa8e2cf1f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dbdaa8e2cf1f description: Fix some sun.nio.ch classes. 2009-01-14 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: Extend java.nio.channels.FileChannel to minimise code. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java: Adapted to use the SharedSecrets backdoor. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java: Add remaining methods needed for our ScheduledThreadPoolExecutor. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java: Create a ScheduledThreadPoolExecutor directly so ours is used. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java: Refer to AsynchronousFileLockImpl not FileLockImpl. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java: Fix imports. * patches/icedtea-nio2.patch: Update implementation of secrets interface. diffstat: 9 files changed, 86 insertions(+), 797 deletions(-) ChangeLog | 18 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java | 774 ---------- overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java | 25 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java | 9 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java | 15 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java | 17 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java | 6 patches/icedtea-nio2.patch | 17 diffs (truncated from 1118 to 500 lines): diff -r 9eb9c1670c99 -r dbdaa8e2cf1f ChangeLog --- a/ChangeLog Wed Jan 14 05:29:15 2009 +0000 +++ b/ChangeLog Thu Jan 15 02:31:47 2009 +0000 @@ -1,3 +1,21 @@ 2009-01-13 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: + Extend java.nio.channels.FileChannel to minimise code. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java: + Adapted to use the SharedSecrets backdoor. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java: + Add remaining methods needed for our ScheduledThreadPoolExecutor. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java: + Create a ScheduledThreadPoolExecutor directly so ours is used. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java: + Refer to AsynchronousFileLockImpl not FileLockImpl. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java: + Fix imports. + * patches/icedtea-nio2.patch: + Update implementation of secrets interface. + 2009-01-13 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java, diff -r 9eb9c1670c99 -r dbdaa8e2cf1f overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java Wed Jan 14 05:29:15 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java Thu Jan 15 02:31:47 2009 +0000 @@ -162,8 +162,8 @@ import org.classpath.icedtea.java.nio.fi */ public abstract class FileChannel - extends AbstractInterruptibleChannel - implements SeekableByteChannel, GatheringByteChannel, ScatteringByteChannel + extends java.nio.channels.FileChannel + implements SeekableByteChannel { /** * Initializes a new instance of this class. @@ -288,9 +288,9 @@ public abstract class FileChannel * * @since 1.7 */ - public static FileChannel open(Path file, - Set options, - FileAttribute... attrs) + public static java.nio.channels.FileChannel open(Path file, + Set options, + FileAttribute... attrs) throws IOException { FileSystemProvider provider = file.getFileSystem().provider(); @@ -335,110 +335,13 @@ public abstract class FileChannel * * @since 1.7 */ - public static FileChannel open(Path file, OpenOption... options) + public static java.nio.channels.FileChannel open(Path file, OpenOption... options) throws IOException { Set set = new HashSet(options.length); Collections.addAll(set, options); return open(file, set, NO_ATTRIBUTES); } - - // -- Channel operations -- - - /** - * Reads a sequence of bytes from this channel into the given buffer. - * - *

Bytes are read starting at this channel's current file position, and - * then the file position is updated with the number of bytes actually - * read. Otherwise this method behaves exactly as specified in the {@link - * ReadableByteChannel} interface.

- */ - public abstract int read(ByteBuffer dst) throws IOException; - - /** - * Reads a sequence of bytes from this channel into a subsequence of the - * given buffers. - * - *

Bytes are read starting at this channel's current file position, and - * then the file position is updated with the number of bytes actually - * read. Otherwise this method behaves exactly as specified in the {@link - * ScatteringByteChannel} interface.

- */ - public abstract long read(ByteBuffer[] dsts, int offset, int length) - throws IOException; - - /** - * Reads a sequence of bytes from this channel into the given buffers. - * - *

Bytes are read starting at this channel's current file position, and - * then the file position is updated with the number of bytes actually - * read. Otherwise this method behaves exactly as specified in the {@link - * ScatteringByteChannel} interface.

- */ - public final long read(ByteBuffer[] dsts) throws IOException { - return read(dsts, 0, dsts.length); - } - - /** - * Writes a sequence of bytes to this channel from the given buffer. - * - *

Bytes are written starting at this channel's current file position - * unless the channel is in append mode, in which case the position is - * first advanced to the end of the file. The file is grown, if necessary, - * to accommodate the written bytes, and then the file position is updated - * with the number of bytes actually written. Otherwise this method - * behaves exactly as specified by the {@link WritableByteChannel} - * interface.

- */ - public abstract int write(ByteBuffer src) throws IOException; - - /** - * Writes a sequence of bytes to this channel from a subsequence of the - * given buffers. - * - *

Bytes are written starting at this channel's current file position - * unless the channel is in append mode, in which case the position is - * first advanced to the end of the file. The file is grown, if necessary, - * to accommodate the written bytes, and then the file position is updated - * with the number of bytes actually written. Otherwise this method - * behaves exactly as specified in the {@link GatheringByteChannel} - * interface.

- */ - public abstract long write(ByteBuffer[] srcs, int offset, int length) - throws IOException; - - /** - * Writes a sequence of bytes to this channel from the given buffers. - * - *

Bytes are written starting at this channel's current file position - * unless the channel is in append mode, in which case the position is - * first advanced to the end of the file. The file is grown, if necessary, - * to accommodate the written bytes, and then the file position is updated - * with the number of bytes actually written. Otherwise this method - * behaves exactly as specified in the {@link GatheringByteChannel} - * interface.

- */ - public final long write(ByteBuffer[] srcs) throws IOException { - return write(srcs, 0, srcs.length); - } - - - // -- Other operations -- - - /** - * Returns this channel's file position.

- * - * @return This channel's file position, - * a non-negative integer counting the number of bytes - * from the beginning of the file to the current position - * - * @throws ClosedChannelException - * If this channel is closed - * - * @throws IOException - * If some other I/O error occurs - */ - public abstract long position() throws IOException; /** * Sets this channel's file position. @@ -469,20 +372,6 @@ public abstract class FileChannel public abstract FileChannel position(long newPosition) throws IOException; /** - * Returns the current size of this channel's file.

- * - * @return The current size of this channel's file, - * measured in bytes - * - * @throws ClosedChannelException - * If this channel is closed - * - * @throws IOException - * If some other I/O error occurs - */ - public abstract long size() throws IOException; - - /** * Truncates this channel's file to the given size. * *

If the given size is less than the file's current size then the file @@ -511,656 +400,5 @@ public abstract class FileChannel */ public abstract FileChannel truncate(long size) throws IOException; - /** - * Forces any updates to this channel's file to be written to the storage - * device that contains it. - * - *

If this channel's file resides on a local storage device then when - * this method returns it is guaranteed that all changes made to the file - * since this channel was created, or since this method was last invoked, - * will have been written to that device. This is useful for ensuring that - * critical information is not lost in the event of a system crash. - * - *

If the file does not reside on a local device then no such guarantee - * is made. - * - *

The metaData parameter can be used to limit the number of - * I/O operations that this method is required to perform. Passing - * false for this parameter indicates that only updates to the - * file's content need be written to storage; passing true - * indicates that updates to both the file's content and metadata must be - * written, which generally requires at least one more I/O operation. - * Whether this parameter actually has any effect is dependent upon the - * underlying operating system and is therefore unspecified. - * - *

Invoking this method may cause an I/O operation to occur even if the - * channel was only opened for reading. Some operating systems, for - * example, maintain a last-access time as part of a file's metadata, and - * this time is updated whenever the file is read. Whether or not this is - * actually done is system-dependent and is therefore unspecified. - * - *

This method is only guaranteed to force changes that were made to - * this channel's file via the methods defined in this class. It may or - * may not force changes that were made by modifying the content of a - * {@link MappedByteBuffer mapped byte buffer} obtained by - * invoking the {@link #map map} method. Invoking the {@link - * MappedByteBuffer#force force} method of the mapped byte buffer will - * force changes made to the buffer's content to be written.

- * - * @param metaData - * If true then this method is required to force changes - * to both the file's content and metadata to be written to - * storage; otherwise, it need only force content changes to be - * written - * - * @throws ClosedChannelException - * If this channel is closed - * - * @throws IOException - * If some other I/O error occurs - */ - public abstract void force(boolean metaData) throws IOException; - - /** - * Transfers bytes from this channel's file to the given writable byte - * channel. - * - *

An attempt is made to read up to count bytes starting at - * the given position in this channel's file and write them to the - * target channel. An invocation of this method may or may not transfer - * all of the requested bytes; whether or not it does so depends upon the - * natures and states of the channels. Fewer than the requested number of - * bytes are transferred if this channel's file contains fewer than - * count bytes starting at the given position, or if the - * target channel is non-blocking and it has fewer than count - * bytes free in its output buffer. - * - *

This method does not modify this channel's position. If the given - * position is greater than the file's current size then no bytes are - * transferred. If the target channel has a position then bytes are - * written starting at that position and then the position is incremented - * by the number of bytes written. - * - *

This method is potentially much more efficient than a simple loop - * that reads from this channel and writes to the target channel. Many - * operating systems can transfer bytes directly from the filesystem cache - * to the target channel without actually copying them.

- * - * @param position - * The position within the file at which the transfer is to begin; - * must be non-negative - * - * @param count - * The maximum number of bytes to be transferred; must be - * non-negative - * - * @param target - * The target channel - * - * @return The number of bytes, possibly zero, - * that were actually transferred - * - * @throws IllegalArgumentException - * If the preconditions on the parameters do not hold - * - * @throws NonReadableChannelException - * If this channel was not opened for reading - * - * @throws NonWritableChannelException - * If the target channel was not opened for writing - * - * @throws ClosedChannelException - * If either this channel or the target channel is closed - * - * @throws AsynchronousCloseException - * If another thread closes either channel - * while the transfer is in progress - * - * @throws ClosedByInterruptException - * If another thread interrupts the current thread while the - * transfer is in progress, thereby closing both channels and - * setting the current thread's interrupt status - * - * @throws IOException - * If some other I/O error occurs - */ - public abstract long transferTo(long position, long count, - WritableByteChannel target) - throws IOException; - - /** - * Transfers bytes into this channel's file from the given readable byte - * channel. - * - *

An attempt is made to read up to count bytes from the - * source channel and write them to this channel's file starting at the - * given position. An invocation of this method may or may not - * transfer all of the requested bytes; whether or not it does so depends - * upon the natures and states of the channels. Fewer than the requested - * number of bytes will be transferred if the source channel has fewer than - * count bytes remaining, or if the source channel is non-blocking - * and has fewer than count bytes immediately available in its - * input buffer. - * - *

This method does not modify this channel's position. If the given - * position is greater than the file's current size then no bytes are - * transferred. If the source channel has a position then bytes are read - * starting at that position and then the position is incremented by the - * number of bytes read. - * - *

This method is potentially much more efficient than a simple loop - * that reads from the source channel and writes to this channel. Many - * operating systems can transfer bytes directly from the source channel - * into the filesystem cache without actually copying them.

- * - * @param src - * The source channel - * - * @param position - * The position within the file at which the transfer is to begin; - * must be non-negative - * - * @param count - * The maximum number of bytes to be transferred; must be - * non-negative - * - * @return The number of bytes, possibly zero, - * that were actually transferred - * - * @throws IllegalArgumentException - * If the preconditions on the parameters do not hold - * - * @throws NonReadableChannelException - * If the source channel was not opened for reading - * - * @throws NonWritableChannelException - * If this channel was not opened for writing - * - * @throws ClosedChannelException - * If either this channel or the source channel is closed - * - * @throws AsynchronousCloseException - * If another thread closes either channel - * while the transfer is in progress - * - * @throws ClosedByInterruptException - * If another thread interrupts the current thread while the - * transfer is in progress, thereby closing both channels and - * setting the current thread's interrupt status - * - * @throws IOException - * If some other I/O error occurs - */ - public abstract long transferFrom(ReadableByteChannel src, - long position, long count) - throws IOException; - - /** - * Reads a sequence of bytes from this channel into the given buffer, - * starting at the given file position. - * - *

This method works in the same manner as the {@link - * #read(ByteBuffer)} method, except that bytes are read starting at the - * given file position rather than at the channel's current position. This - * method does not modify this channel's position. If the given position - * is greater than the file's current size then no bytes are read.

- * - * @param dst - * The buffer into which bytes are to be transferred - * - * @param position - * The file position at which the transfer is to begin; - * must be non-negative - * - * @return The number of bytes read, possibly zero, or -1 if the - * given position is greater than or equal to the file's current - * size - * - * @throws IllegalArgumentException - * If the position is negative - * - * @throws NonReadableChannelException - * If this channel was not opened for reading - * - * @throws ClosedChannelException - * If this channel is closed - * - * @throws AsynchronousCloseException - * If another thread closes this channel - * while the read operation is in progress - * - * @throws ClosedByInterruptException - * If another thread interrupts the current thread - * while the read operation is in progress, thereby - * closing the channel and setting the current thread's - * interrupt status - * - * @throws IOException - * If some other I/O error occurs - */ - public abstract int read(ByteBuffer dst, long position) throws IOException; - - /** - * Writes a sequence of bytes to this channel from the given buffer, - * starting at the given file position. - * - *

This method works in the same manner as the {@link - * #write(ByteBuffer)} method, except that bytes are written starting at - * the given file position rather than at the channel's current position. - * This method does not modify this channel's position. If the given - * position is greater than the file's current size then the file will be - * grown to accommodate the new bytes; the values of any bytes between the - * previous end-of-file and the newly-written bytes are unspecified.

- * - * @param src - * The buffer from which bytes are to be transferred - * - * @param position - * The file position at which the transfer is to begin; - * must be non-negative - * - * @return The number of bytes written, possibly zero - * - * @throws IllegalArgumentException - * If the position is negative - * - * @throws NonWritableChannelException - * If this channel was not opened for writing - * - * @throws ClosedChannelException - * If this channel is closed - * - * @throws AsynchronousCloseException - * If another thread closes this channel - * while the write operation is in progress - * - * @throws ClosedByInterruptException - * If another thread interrupts the current thread - * while the write operation is in progress, thereby - * closing the channel and setting the current thread's - * interrupt status - * - * @throws IOException - * If some other I/O error occurs - */ - public abstract int write(ByteBuffer src, long position) throws IOException; - - - // -- Memory-mapped buffers -- - - /** - * A typesafe enumeration for file-mapping modes. - * - * @since 1.4 - * - * @see java.nio.channels.FileChannel#map - */ - public static class MapMode { - - /** - * Mode for a read-only mapping. - */ - public static final MapMode READ_ONLY - = new MapMode("READ_ONLY"); - - /** - * Mode for a read/write mapping. - */ - public static final MapMode READ_WRITE - = new MapMode("READ_WRITE"); - - /** - * Mode for a private (copy-on-write) mapping. - */ - public static final MapMode PRIVATE - = new MapMode("PRIVATE"); - - private final String name; - - private MapMode(String name) { - this.name = name; - } - - /** From gnu_andrew at member.fsf.org Tue Feb 3 04:13:57 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:57 +0000 Subject: changeset in /hg/icedtea6: Merge. Message-ID: changeset 585bc814cee8 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=585bc814cee8 description: Merge. diffstat: 2 files changed, 33 insertions(+), 2 deletions(-) ChangeLog | 8 +++++ rt/net/sourceforge/jnlp/cache/ResourceTracker.java | 27 ++++++++++++++++++-- diffs (69 lines): diff -r dbdaa8e2cf1f -r 585bc814cee8 ChangeLog --- a/ChangeLog Thu Jan 15 02:31:47 2009 +0000 +++ b/ChangeLog Thu Jan 15 02:32:49 2009 +0000 @@ -15,6 +15,14 @@ 2009-01-14 Andrew John Hughes + + * rt/net/sourceforge/jnlp/cache/ResourceTracker.java + (downloadResource): Call getVersionedResourceURL to get the versioned jar. + (initializeResource): Likewise. + (getVersionedResourceURL): New function. Constructs a URL with a + version-id as the query. 2009-01-13 Andrew John Hughes diff -r dbdaa8e2cf1f -r 585bc814cee8 rt/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Thu Jan 15 02:31:47 2009 +0000 +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Thu Jan 15 02:32:49 2009 +0000 @@ -605,7 +605,7 @@ public class ResourceTracker { try { // create out second in case in does not exist - URLConnection con = resource.location.openConnection(); + URLConnection con = getVersionedResourceURL(resource).openConnection(); InputStream in = new BufferedInputStream(con.getInputStream()); OutputStream out = CacheUtil.getOutputStream(resource.location, resource.downloadVersion); byte buf[] = new byte[1024]; @@ -652,7 +652,7 @@ public class ResourceTracker { File localFile = CacheUtil.getCacheFile(resource.location, resource.downloadVersion); // connect - URLConnection connection = resource.location.openConnection(); // this won't change so should be okay unsynchronized + URLConnection connection = getVersionedResourceURL(resource).openConnection(); // this won't change so should be okay unsynchronized int size = connection.getContentLength(); boolean current = CacheUtil.isCurrent(resource.location, resource.requestVersion, connection) && resource.getUpdatePolicy() != UpdatePolicy.FORCE; @@ -696,6 +696,29 @@ public class ResourceTracker { } } + + + private URL getVersionedResourceURL(Resource resource) { + String actualLocation = resource.location.getProtocol() + "://" + + resource.location.getHost(); + if (resource.location.getPort() != -1) { + actualLocation += ":" + resource.location.getPort(); + } + actualLocation += resource.location.getPath(); + if (resource.requestVersion != null + && resource.requestVersion.isVersionId()) { + actualLocation += "?version-id=" + resource.requestVersion; + } + URL versionedURL; + try { + versionedURL = new URL(actualLocation); + } catch (MalformedURLException e) { + return resource.location; + } + return versionedURL; + } + + /** * Pick the next resource to download or initialize. If there * are no more resources requested then one is taken from a From gnu_andrew at member.fsf.org Tue Feb 3 04:13:58 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:58 +0000 Subject: changeset in /hg/icedtea6: Complete sun.nio.ch fixes. Message-ID: changeset f42c98fdd7f4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f42c98fdd7f4 description: Complete sun.nio.ch fixes. 2009-01-19 Andrew John Hughes * generated/sun/nio/ch/SocketOptionRegistry.java: * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/DatagramChannel.java: Added (1.7 extensions). * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions: Fix package. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/SelectorProvider.java: Added (1.7 extensions). * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java: Added to provide access to package-private NetworkInterface.getIndex(). * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java: Fixed imports. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ExtendedSocketOption.java: Added. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java: Fixed imports. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/OptionKey.java: Added. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java: Fixed imports. * overlays/nio2/openjdk/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java: Added. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java: Fixed imports. * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultSelectorProvider.java: Added. * patches/icedtea-nio2.patch: Add hook for SharedSecrets to NetworkInterface, extend sun.nio.ch.{Net,DatagramChannelImpl,SelectorProviderImpl} to handle 1.7 extensions. diffstat: 21 files changed, 1487 insertions(+), 16 deletions(-) ChangeLog | 29 generated/sun/nio/ch/SocketOptionRegistry.java | 83 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/DatagramChannel.java | 223 ++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions | 2 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/SelectorProvider.java | 199 +++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java | 45 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java | 16 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java | 5 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java | 8 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ExtendedSocketOption.java | 44 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java | 5 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/OptionKey.java | 48 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java | 4 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java | 14 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java | 3 overlays/nio2/openjdk/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c | 129 ++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java | 76 + overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java | 3 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultSelectorProvider.java | 49 patches/icedtea-nio2.patch | 515 +++++++++- diffs (truncated from 1771 to 500 lines): diff -r 585bc814cee8 -r f42c98fdd7f4 ChangeLog --- a/ChangeLog Thu Jan 15 02:32:49 2009 +0000 +++ b/ChangeLog Mon Jan 19 14:23:34 2009 +0000 @@ -1,3 +1,32 @@ 2009-01-14 Andrew John Hughes + + * generated/sun/nio/ch/SocketOptionRegistry.java: + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/DatagramChannel.java: + Added (1.7 extensions). + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions: Fix package. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/SelectorProvider.java: + Added (1.7 extensions). + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java: + Added to provide access to package-private NetworkInterface.getIndex(). + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java: + Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ExtendedSocketOption.java: Added. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java: Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/OptionKey.java: Added. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java: Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java: Added. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java: + Fixed imports. + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultSelectorProvider.java: Added. + * patches/icedtea-nio2.patch: Add hook for SharedSecrets to NetworkInterface, extend + sun.nio.ch.{Net,DatagramChannelImpl,SelectorProviderImpl} to handle 1.7 extensions. + 2009-01-14 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: diff -r 585bc814cee8 -r f42c98fdd7f4 generated/sun/nio/ch/SocketOptionRegistry.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/generated/sun/nio/ch/SocketOptionRegistry.java Mon Jan 19 14:23:34 2009 +0000 @@ -0,0 +1,83 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + */ +// AUTOMATICALLY GENERATED FILE - DO NOT EDIT +package sun.nio.ch; +import java.util.Map; +import java.util.HashMap; +import org.classpath.icedtea.java.net.ProtocolFamily; +import org.classpath.icedtea.java.net.StandardProtocolFamily; +import org.classpath.icedtea.java.net.SocketOption; +import org.classpath.icedtea.java.net.StandardSocketOption; +class SocketOptionRegistry { + private SocketOptionRegistry() { } + private static class RegistryKey { + private final SocketOption name; + private final ProtocolFamily family; + RegistryKey(SocketOption name, ProtocolFamily family) { + this.name = name; + this.family = family; + } + public int hashCode() { + return name.hashCode() + family.hashCode(); + } + public boolean equals(Object ob) { + if (ob == null) return false; + if (!(ob instanceof RegistryKey)) return false; + RegistryKey other = (RegistryKey)ob; + if (this.name != other.name) return false; + if (this.family != other.family) return false; + return true; + } + } + private static class LazyInitialization { + static final Map options = options(); + private static Map options() { + Map map = + new HashMap(); + map.put(new RegistryKey(StandardSocketOption.SO_BROADCAST, Net.UNSPEC), new OptionKey(1, 6)); + map.put(new RegistryKey(StandardSocketOption.SO_KEEPALIVE, Net.UNSPEC), new OptionKey(1, 9)); + map.put(new RegistryKey(StandardSocketOption.SO_LINGER, Net.UNSPEC), new OptionKey(1, 13)); + map.put(new RegistryKey(StandardSocketOption.SO_SNDBUF, Net.UNSPEC), new OptionKey(1, 7)); + map.put(new RegistryKey(StandardSocketOption.SO_RCVBUF, Net.UNSPEC), new OptionKey(1, 8)); + map.put(new RegistryKey(StandardSocketOption.SO_REUSEADDR, Net.UNSPEC), new OptionKey(1, 2)); + map.put(new RegistryKey(StandardSocketOption.TCP_NODELAY, Net.UNSPEC), new OptionKey(6, 1)); + map.put(new RegistryKey(StandardSocketOption.IP_TOS, StandardProtocolFamily.INET), new OptionKey(0, 1)); + map.put(new RegistryKey(StandardSocketOption.IP_MULTICAST_IF, StandardProtocolFamily.INET), new OptionKey(0, 32)); + map.put(new RegistryKey(StandardSocketOption.IP_MULTICAST_TTL, StandardProtocolFamily.INET), new OptionKey(0, 33)); + map.put(new RegistryKey(StandardSocketOption.IP_MULTICAST_LOOP, StandardProtocolFamily.INET), new OptionKey(0, 34)); + map.put(new RegistryKey(StandardSocketOption.IP_MULTICAST_IF, StandardProtocolFamily.INET6), new OptionKey(41, 17)); + map.put(new RegistryKey(StandardSocketOption.IP_MULTICAST_TTL, StandardProtocolFamily.INET6), new OptionKey(41, 18)); + map.put(new RegistryKey(StandardSocketOption.IP_MULTICAST_LOOP, StandardProtocolFamily.INET6), new OptionKey(41, 19)); + map.put(new RegistryKey(ExtendedSocketOption.SO_OOBINLINE, Net.UNSPEC), new OptionKey(1, 10)); + return map; + } + } + public static OptionKey findOption(SocketOption name, ProtocolFamily family) { + RegistryKey key = new RegistryKey(name, family); + return LazyInitialization.options.get(key); + } +} diff -r 585bc814cee8 -r f42c98fdd7f4 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/DatagramChannel.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/DatagramChannel.java Mon Jan 19 14:23:34 2009 +0000 @@ -0,0 +1,223 @@ +/* + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.classpath.icedtea.java.nio.channels; + +import java.io.IOException; +import java.net.DatagramSocket; +import java.net.SocketAddress; +import java.nio.ByteBuffer; + +import org.classpath.icedtea.java.net.ProtocolFamily; +import org.classpath.icedtea.java.net.SocketOption; + +import org.classpath.icedtea.java.nio.channels.spi.SelectorProvider; + +/** + * A selectable channel for datagram-oriented sockets. + * + *

{@note revised} A datagram channel is created by invoking one of the {@link #open open} methods + * of this class. It is not possible to create a channel for an arbitrary, + * pre-existing datagram socket. A newly-created datagram channel is open but not + * connected. A datagram channel need not be connected in order for the {@link #send + * send} and {@link #receive receive} methods to be used. A datagram channel may be + * connected, by invoking its {@link #connect connect} method, in order to + * avoid the overhead of the security checks are otherwise performed as part of + * every send and receive operation. A datagram channel must be connected in + * order to use the {@link #read(java.nio.ByteBuffer) read} and {@link + * #write(java.nio.ByteBuffer) write} methods, since those methods do not + * accept or return socket addresses. + * + *

Once connected, a datagram channel remains connected until it is + * disconnected or closed. Whether or not a datagram channel is connected may + * be determined by invoking its {@link #isConnected isConnected} method. + * + *

Socket options are configured using the {@link #setOption(SocketOption,Object) + * setOption} method. A datagram channel to an Internet Protocol socket supports + * the following options: + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Option NameDescription
{@link java.net.StandardSocketOption#SO_SNDBUF SO_SNDBUF} The size of the socket send buffer
{@link java.net.StandardSocketOption#SO_RCVBUF SO_RCVBUF} The size of the socket receive buffer
{@link java.net.StandardSocketOption#SO_REUSEADDR SO_REUSEADDR} Re-use address
{@link java.net.StandardSocketOption#SO_BROADCAST SO_BROADCAST} Allow transmission of broadcast datagrams
{@link java.net.StandardSocketOption#IP_TOS IP_TOS} The Type of Service (ToS) octet in the Internet Protocol (IP) header
{@link java.net.StandardSocketOption#IP_MULTICAST_IF IP_MULTICAST_IF} The network interface for Internet Protocol (IP) multicast datagrams
{@link java.net.StandardSocketOption#IP_MULTICAST_TTL + * IP_MULTICAST_TTL} The time-to-live for Internet Protocol (IP) multicast + * datagrams
{@link java.net.StandardSocketOption#IP_MULTICAST_LOOP + * IP_MULTICAST_LOOP} Loopback for Internet Protocol (IP) multicast datagrams
+ *
+ * Additional (implementation specific) options may also be supported. + * + *

Datagram channels are safe for use by multiple concurrent threads. They + * support concurrent reading and writing, though at most one thread may be + * reading and at most one thread may be writing at any given time.

+ * + * @author Mark Reinhold + * @author JSR-51 Expert Group + * @since 1.4 + * @updated 1.7 + */ + +public abstract class DatagramChannel + extends java.nio.channels.DatagramChannel + implements MulticastChannel +{ + + /** + * Initializes a new instance of this class. + */ + protected DatagramChannel(SelectorProvider provider) { + super(provider); + } + + /** + * Opens a datagram channel. + * + *

The new channel is created by invoking the {@link + * java.nio.channels.spi.SelectorProvider#openDatagramChannel() + * openDatagramChannel} method of the system-wide default {@link + * java.nio.channels.spi.SelectorProvider} object. The channel will not be + * connected.

+ * + * @return A new datagram channel + * + * @throws IOException + * If an I/O error occurs + */ + public static DatagramChannel open() throws IOException { + return SelectorProvider.provider().openDatagramChannel(); + } + + /** + * Opens a datagram channel. + * + *

The {@code family} parameter is used to specify the {@link + * ProtocolFamily}. If the datagram channel is to be used for IP multicasing + * then this should correspond to the address type of the multicast groups + * that this channel will join. + * + *

The new channel is created by invoking the {@link + * java.nio.channels.spi.SelectorProvider#openDatagramChannel(ProtocolFamily) + * openDatagramChannel} method of the system-wide default {@link + * java.nio.channels.spi.SelectorProvider} object. The channel will not be + * connected. + * + * @param family + * The protocol family + * + * @return A new datagram channel + * + * @throws UnsupportedOperationException + * If the specified protocol family is not supported. For example, + * suppose the parameter is specified as {@link + * java.net.StandardProtocolFamily#INET6 StandardProtocolFamily.INET6} + * but IPv6 is not enabled on the platform. + * @throws IOException + * If an I/O error occurs + * + * @since 1.7 + */ + public static DatagramChannel open(ProtocolFamily family) throws IOException { + return SelectorProvider.provider().openDatagramChannel(family); + } + + + // -- Socket-specific operations -- + + /** + * @throws AlreadyBoundException {@inheritDoc} + * @throws UnsupportedAddressTypeException {@inheritDoc} + * @throws ClosedChannelException {@inheritDoc} + * @throws IOException {@inheritDoc} + * @throws SecurityException + * If a security manager has been installed and its {@link + * SecurityManager#checkListen checkListen} method denies the + * operation + * + * @since 1.7 + */ + public abstract DatagramChannel bind(SocketAddress local) + throws IOException; + + /** + * @throws IllegalArgumentException {@inheritDoc} + * @throws ClosedChannelException {@inheritDoc} + * @throws IOException {@inheritDoc} + * + * @since 1.7 + */ + public abstract DatagramChannel setOption(SocketOption name, T value) + throws IOException; + + /** + * {@note new} + * Returns the remote address to which this channel's socket is connected. + * + * @return The remote address; {@code null} if the channel's socket is not + * connected + * + * @throws ClosedChannelException + * If the channel is closed + * @throws IOException + * If an I/O error occurs + * + * @since 1.7 + */ + public abstract SocketAddress getRemoteAddress() throws IOException; + +} diff -r 585bc814cee8 -r f42c98fdd7f4 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions Thu Jan 15 02:32:49 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions Mon Jan 19 14:23:34 2009 +0000 @@ -25,7 +25,7 @@ # Generated exception classes for java.nio.channels -PACKAGE=java.nio.channels +PACKAGE=org.classpath.icedtea.java.nio.channels # This year should only change if the generated source is modified. COPYRIGHT_YEARS=2000-2007 SINCE=1.7 diff -r 585bc814cee8 -r f42c98fdd7f4 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/SelectorProvider.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/SelectorProvider.java Mon Jan 19 14:23:34 2009 +0000 @@ -0,0 +1,199 @@ +/* + * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.classpath.icedtea.java.nio.channels.spi; + +import java.io.IOException; + +import java.security.AccessController; +import java.security.PrivilegedAction; + +import java.util.Iterator; +import java.util.ServiceLoader; +import java.util.ServiceConfigurationError; + +import org.classpath.icedtea.java.net.ProtocolFamily; + +import org.classpath.icedtea.java.nio.channels.DatagramChannel; + +/** + * Service-provider class for selectors and selectable channels. + * + *

A selector provider is a concrete subclass of this class that has a + * zero-argument constructor and implements the abstract methods specified + * below. A given invocation of the Java virtual machine maintains a single + * system-wide default provider instance, which is returned by the {@link + * #provider() provider} method. The first invocation of that method will locate + * the default provider as specified below. + * + *

The system-wide default provider is used by the static open + * methods of the {@link java.nio.channels.DatagramChannel#open + * DatagramChannel}, {@link java.nio.channels.Pipe#open Pipe}, {@link + * java.nio.channels.Selector#open Selector}, {@link + * java.nio.channels.ServerSocketChannel#open ServerSocketChannel}, and {@link + * java.nio.channels.SocketChannel#open SocketChannel} classes. It is also + * used by the {@link java.lang.System#inheritedChannel System.inheritedChannel()} + * method. A program may make use of a provider other than the default provider + * by instantiating that provider and then directly invoking the open + * methods defined in this class. + * + *

All of the methods in this class are safe for use by multiple concurrent + * threads.

+ * + * + * @author Mark Reinhold + * @author JSR-51 Expert Group + * @since 1.4 + */ + +public abstract class SelectorProvider + extends java.nio.channels.spi.SelectorProvider { + + private static final Object lock = new Object(); + private static SelectorProvider provider = null; + + /** + * Opens a datagram channel.

+ * + * @return The new channel + */ + public abstract DatagramChannel openDatagramChannel() + throws IOException; + + /** + * {@note new} + * Opens a datagram channel. + * + * @param family + * The protocol family + * + * @return A new datagram channel + * + * @throws UnsupportedOperationException + * If the specified protocol family is not supported + * @throws IOException + * If an I/O error occurs + * + * @since 1.7 + */ + public abstract DatagramChannel openDatagramChannel(ProtocolFamily family) + throws IOException; + + /** + * Returns the system-wide default selector provider for this invocation of + * the Java virtual machine. + * + *

The first invocation of this method locates the default provider + * object as follows:

+ * + *
    + * + *
  1. If the system property + * java.nio.channels.spi.SelectorProvider is defined then it is + * taken to be the fully-qualified name of a concrete provider class. + * The class is loaded and instantiated; if this process fails then an + * unspecified error is thrown.

  2. + * + *
  3. If a provider class has been installed in a jar file that is + * visible to the system class loader, and that jar file contains a + * provider-configuration file named + * java.nio.channels.spi.SelectorProvider in the resource + * directory META-INF/services, then the first class name + * specified in that file is taken. The class is loaded and + * instantiated; if this process fails then an unspecified error is + * thrown.

  4. + * + *
  5. Finally, if no provider has been specified by any of the above + * means then the system-default provider class is instantiated and the + * result is returned.

  6. + * + *
+ * From gnu_andrew at member.fsf.org Tue Feb 3 04:13:58 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:58 +0000 Subject: changeset in /hg/icedtea6: Merge. Message-ID: changeset fb3c68368b7f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fb3c68368b7f description: Merge. diffstat: 6 files changed, 41 insertions(+), 38 deletions(-) ChangeLog | 22 ++++++++++++++ HACKING | 1 Makefile.am | 1 patches/icedtea-a11y-property-change.patch | 17 ----------- patches/icedtea-samejvm-safe.patch | 2 - ports/hotspot/src/cpu/zero/vm/globals_zero.hpp | 36 ++++++++++++------------ diffs (140 lines): diff -r f42c98fdd7f4 -r fb3c68368b7f ChangeLog --- a/ChangeLog Mon Jan 19 14:23:34 2009 +0000 +++ b/ChangeLog Mon Jan 19 14:25:02 2009 +0000 @@ -26,6 +26,28 @@ 2009-01-19 Andrew John Hughes + + * patches/icedtea-version.patch (samejvmsafe): Removed the following + directories that contain test that are not samevm safe. + javax/crypto/Cipher (TestGetInstance) + javax/naming (CompareToEqualsTests) + sun/rmi (RmicDefault) + sun/security/util (OidFormat) + sun/security/x509 + (ExtensibleAlgorithmId,EmailAddressEncoding,AllAttribs) + +2009-01-15 Omair Majid + + * patches/icedtea-a11y-property-change.patch: Removed incorrect patch. + * HACKING: Remove above patch. + * Makefile.am (ICEDTEA_PATCHES): Removed patch. + +2009-01-15 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/globals_zero.hpp + (StackShadowPages): Increase for 64-bit builds. 2009-01-14 Andrew John Hughes diff -r f42c98fdd7f4 -r fb3c68368b7f HACKING --- a/HACKING Mon Jan 19 14:23:34 2009 +0000 +++ b/HACKING Mon Jan 19 14:25:02 2009 +0000 @@ -78,7 +78,6 @@ The following patches are currently appl * icedtea-format-warnings.patch: Fix build failures with -Wformat=1. * icedtea-io_util-overflow.patch: Replace some code to correctly handle overflows. (S6788196) * icedtea-cc-interp-jvmti.patch: Disable some JVMTI capabilities which are unsupported or do not work with the C++ interpreter. -* icedtea-a11y-property-change.patch: Dont fire PropertyChangeEvent if the property hasnt changed. * icedtea-demo-swingapplet.patch: Add missing html file needed to run the demo. * icedtea-6791168.patch: Fix build failure with GCC-4.4 (PR 38725) and compiler warnings. * icedtea-no-precompiled.patch: Don't use precompiled header files in hotspot. diff -r f42c98fdd7f4 -r fb3c68368b7f Makefile.am --- a/Makefile.am Mon Jan 19 14:23:34 2009 +0000 +++ b/Makefile.am Mon Jan 19 14:25:02 2009 +0000 @@ -695,7 +695,6 @@ endif ICEDTEA_PATCHES += \ $(DISTRIBUTION_PATCHES) \ - patches/icedtea-a11y-property-change.patch \ patches/icedtea-demo-swingapplet.patch \ patches/icedtea-awt-window-size.patch diff -r f42c98fdd7f4 -r fb3c68368b7f patches/icedtea-a11y-property-change.patch --- a/patches/icedtea-a11y-property-change.patch Mon Jan 19 14:23:34 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ ---- AccessibleContext.java.orig 2008-12-24 11:33:22.000000000 -0500 -+++ openjdk/jdk/src/share/classes/javax/accessibility/AccessibleContext.java 2008-12-24 11:35:29.000000000 -0500 -@@ -736,6 +736,14 @@ - Object oldValue, - Object newValue) { - if (accessibleChangeSupport != null) { -+ -+ if (oldValue == newValue) { -+ return; -+ } -+ if (oldValue != null && newValue != null && oldValue.equals(newValue)) { -+ return; -+ } -+ - if (newValue instanceof PropertyChangeEvent) { - PropertyChangeEvent pce = (PropertyChangeEvent)newValue; - accessibleChangeSupport.firePropertyChange(pce); diff -r f42c98fdd7f4 -r fb3c68368b7f patches/icedtea-samejvm-safe.patch --- a/patches/icedtea-samejvm-safe.patch Mon Jan 19 14:23:34 2009 +0000 +++ b/patches/icedtea-samejvm-safe.patch Mon Jan 19 14:25:02 2009 +0000 @@ -9,4 +9,4 @@ +# -samejvm mode. Only used if the test root (dir containing this file) is +# given to jtreg and the -samejvm argument is used, ignored otherwise +# (meaning all tests are assumed to be same jvm safe). -+samejvmsafe=com/sun/crypto com/sun/management com/sun/media com/sun/security java/beans/beancontext java/beans/PropertyChangeSupport java/beans/Statement java/beans/VetoableChangeSupport java/lang/Boolean java/lang/Byte java/lang/Double java/lang/Float java/lang/Integer java/lang/Long java/lang/Short java/lang/Math java/lang/StrictMath java/lang/String java/lang/Throwable java/lang/instrument java/math java/net/URI java/net/URLDecoder java/net/URLEncoder java/nio/Buffer java/nio/ByteOrder java/nio/MappedByteBuffer java/nio/channels/Channels java/nio/channels/DatagramChannel java/nio/channels/spi java/security/cert java/security/Provider java/text java/util/jar java/util/zip java/util/Array java/util/BitSet java/util/Collection java/util/List javax/crypto/Cipher javax/imageio javax/management/openmbean javax/naming javax/rmi javax/sound sun/net/www/protocol sun/misc sun/nio sun/rmi sun/security/pkcs11 sun/security/rsa sun/security/util sun/security/x509 sun/util ++samejvmsafe=com/sun/crypto com/sun/management com/sun/media com/sun/security java/beans/beancontext java/beans/PropertyChangeSupport java/beans/Statement java/beans/VetoableChangeSupport java/lang/Boolean java/lang/Byte java/lang/Double java/lang/Float java/lang/Integer java/lang/Long java/lang/Short java/lang/Math java/lang/StrictMath java/lang/String java/lang/Throwable java/lang/instrument java/math java/net/URI java/net/URLDecoder java/net/URLEncoder java/nio/Buffer java/nio/ByteOrder java/nio/MappedByteBuffer java/nio/channels/Channels java/nio/channels/DatagramChannel java/nio/channels/spi java/security/cert java/security/Provider java/text java/util/jar java/util/zip java/util/Array java/util/BitSet java/util/Collection java/util/List javax/imageio javax/management/openmbean javax/rmi javax/sound sun/net/www/protocol sun/misc sun/nio sun/security/pkcs11 sun/security/rsa sun/util diff -r f42c98fdd7f4 -r fb3c68368b7f ports/hotspot/src/cpu/zero/vm/globals_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/globals_zero.hpp Mon Jan 19 14:23:34 2009 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/globals_zero.hpp Mon Jan 19 14:25:02 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007 Red Hat, Inc. + * Copyright 2007, 2008, 2009 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,27 +28,27 @@ // runtime system. See globals.hpp for details of what they do. // -define_pd_global(bool, ConvertSleepToYield, true); -define_pd_global(bool, ShareVtableStubs, true); -define_pd_global(bool, CountInterpCalls, true); -define_pd_global(bool, NeedsDeoptSuspend, false); +define_pd_global(bool, ConvertSleepToYield, true); +define_pd_global(bool, ShareVtableStubs, true); +define_pd_global(bool, CountInterpCalls, true); +define_pd_global(bool, NeedsDeoptSuspend, false); -define_pd_global(bool, ImplicitNullChecks, true); -define_pd_global(bool, UncommonNullCast, true); +define_pd_global(bool, ImplicitNullChecks, true); +define_pd_global(bool, UncommonNullCast, true); -define_pd_global(intx, CodeEntryAlignment, 32); -define_pd_global(uintx, TLABSize, 0); +define_pd_global(intx, CodeEntryAlignment, 32); +define_pd_global(uintx, TLABSize, 0); #ifdef _LP64 -define_pd_global(uintx, NewSize, ScaleForWordSize(2048 * K)); +define_pd_global(uintx, NewSize, ScaleForWordSize(2048 * K)); #else -define_pd_global(uintx, NewSize, ScaleForWordSize(1024 * K)); +define_pd_global(uintx, NewSize, ScaleForWordSize(1024 * K)); #endif // _LP64 -define_pd_global(intx, InlineFrequencyCount, 100); -define_pd_global(intx, PreInflateSpin, 10); +define_pd_global(intx, InlineFrequencyCount, 100); +define_pd_global(intx, PreInflateSpin, 10); -define_pd_global(intx, StackYellowPages, 2); -define_pd_global(intx, StackRedPages, 1); -define_pd_global(intx, StackShadowPages, 3 DEBUG_ONLY(+3)); +define_pd_global(intx, StackYellowPages, 2); +define_pd_global(intx, StackRedPages, 1); +define_pd_global(intx, StackShadowPages, 3 LP64_ONLY(+3) DEBUG_ONLY(+3)); -define_pd_global(bool, RewriteBytecodes, true); -define_pd_global(bool, RewriteFrequentPairs, true); +define_pd_global(bool, RewriteBytecodes, true); +define_pd_global(bool, RewriteFrequentPairs, true); From gnu_andrew at member.fsf.org Tue Feb 3 04:13:58 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:58 +0000 Subject: changeset in /hg/icedtea6: Fix UNIX sun.nio.ch and shared sun.ni... Message-ID: changeset 913512a256bd in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=913512a256bd description: Fix UNIX sun.nio.ch and shared sun.nio.fs classes. 2009-01-19 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java: (getByIndex(int)): New method. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java: Fixed imports. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipKeyImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipRegistry.java: New files. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java: Fix imports, refer to AsynchronousFileLockImpl instead of FileLockImpl. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java: Fix imports and vararg usage. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java: Fix vararg usage. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java: Fix imports. * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java: Fix imports and vararg usage. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java: Fix imports. * patches/icedtea-nio2.patch: Add new classes. (Unsafe.copyMemory(long,long,long)): Backported. (Unsafe.copyMemory(Object,long,Object,long,long)): Backported. (Unsafe.ARRAY_BYTE_BASE_OFFSET): Likewise. (DatagramChannelImpl.bind(SocketAddress)): Likewise. (DatagramChannelImpl.getLocalAddress()): Likewise. (DatagramChannelImpl.getOption(SocketOption)): Likewise. (DatagramChannelImpl.innerJoin(InetAddress,NetworkInterface,InetAddress)): Likewise. (DatagramChannelImpl.join(InetAddress,NetworkInterface)): Likewise. (DatagramChannelImpl.join(InetAddress,NetworkInterface,InetAddress)): Likewise. (DatagramChannelImpl.block(MembershipKeyImpl,InetAddress)): Likewise. (DatagramChannelImpl.unblock(MembershipKeyImpl,InetAddress)): Likewise. (DatagramChannelImpl.drop(MembershipKeyImpl)): Likewise. (Net.getInterface4(FileDescriptor)): Likewise. (Net.getInterface6(FileDescriptor)): Likewise. (Net.inet4FromInt(int)): Likewise. (Net.inet6AsByteArray(InetAddress)): Likewise. (Net.join6(FileDescriptor,byte[],int,byte[])): Likewise. (Net.drop6(FileDescriptor,byte[],int,byte[])): Likewise. (Net.joinOrDrop6(boolean,FileDescriptor,byte[],int,byte[])): Likewise. (Net.block6(FileDescriptor,byte[],int,byte[])): Likewise. (Net.unblock6(FileDescriptor,byte[],int,byte[])): Likewise. (Net.blockOrUnblock6(boolean,FileDescriptor,byte[],int,byte[])): Likewise. (Net.join4(FileDescriptor,int,int,int)): Likewise. (Net.drop4(FileDescriptor,int,int,int)): Likewise. (Net.joinOrDrop4(boolean,FileDescriptor,int,int,int)): Likewise. (Net.block4(FileDescriptor,int,int,int)): Likewise. (Net.unblock4(FileDescriptor,int,int,int)): Likewise. (Net.blockOrUnblock4(boolean,FileDescriptor,int,int,int)): Likewise. (Net.connect(FileDescriptor,InetAddress,int)): Likewise. (Net.connect(ProtocolFamily,FileDescriptor,InetAddress,int)): Likewise. (Net.connect0(boolean,FileDescriptor,InetAddress,int)): Likewise. (FileDispatcher.NO_LOCK)): Likewise. (FileDispatcher.LOCKED)): Likewise. (FileDispatcher.RET_EX_LOCK)): Likewise. (FileDispatcher.INTERRUPTED)): Likewise. (FileDispatcher.size(FileDescriptor)): Likewise. (FileDispatcher.truncate(FileDescriptor, long)): Likewise. (FileDispatcher.force(FileDescriptor, boolean)): Likewise. (FileDispatcher.lock(FileDescriptor, boolean, long, long, boolean)): Likewise. (FileDispatcher.release(FileDescriptor, long, long)): Likewise. (FileDispatcher.force0(FileDescriptor,boolean)): Likewise. (FileDispatcher.truncate0(FileDescriptor, long)): Likewise. (FileDispatcher.size0(FileDescriptor)): Likewise. (FileDispatcher.lock0(FileDescriptor, boolean, long, long, boolean)): Likewise. (FileDispatcher.release0(FileDescriptor, long, long)): Likewise. diffstat: 19 files changed, 1133 insertions(+), 31 deletions(-) ChangeLog | 76 + overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java | 1 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipKeyImpl.java | 224 +++ overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipRegistry.java | 132 ++ overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java | 18 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java | 2 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java | 8 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java | 1 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java | 3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java | 6 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java | 3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java | 7 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java | 7 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java | 8 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java | 9 patches/icedtea-nio2.patch | 652 +++++++++- diffs (truncated from 1562 to 500 lines): diff -r fb3c68368b7f -r 913512a256bd ChangeLog --- a/ChangeLog Mon Jan 19 14:25:02 2009 +0000 +++ b/ChangeLog Tue Jan 20 00:06:18 2009 +0000 @@ -1,3 +1,79 @@ 2009-01-19 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java: + (getByIndex(int)): New method. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java: + Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipKeyImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipRegistry.java: + New files. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java: + Fix imports, refer to AsynchronousFileLockImpl instead of FileLockImpl. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java: + Fix imports and vararg usage. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java: + Fix vararg usage. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java: + Fix imports and vararg usage. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java: + Fix imports. + * patches/icedtea-nio2.patch: + Add new classes. + (Unsafe.copyMemory(long,long,long)): Backported. + (Unsafe.copyMemory(Object,long,Object,long,long)): Backported. + (Unsafe.ARRAY_BYTE_BASE_OFFSET): Likewise. + (DatagramChannelImpl.bind(SocketAddress)): Likewise. + (DatagramChannelImpl.getLocalAddress()): Likewise. + (DatagramChannelImpl.getOption(SocketOption)): Likewise. + (DatagramChannelImpl.innerJoin(InetAddress,NetworkInterface,InetAddress)): Likewise. + (DatagramChannelImpl.join(InetAddress,NetworkInterface)): Likewise. + (DatagramChannelImpl.join(InetAddress,NetworkInterface,InetAddress)): Likewise. + (DatagramChannelImpl.block(MembershipKeyImpl,InetAddress)): Likewise. + (DatagramChannelImpl.unblock(MembershipKeyImpl,InetAddress)): Likewise. + (DatagramChannelImpl.drop(MembershipKeyImpl)): Likewise. + (Net.getInterface4(FileDescriptor)): Likewise. + (Net.getInterface6(FileDescriptor)): Likewise. + (Net.inet4FromInt(int)): Likewise. + (Net.inet6AsByteArray(InetAddress)): Likewise. + (Net.join6(FileDescriptor,byte[],int,byte[])): Likewise. + (Net.drop6(FileDescriptor,byte[],int,byte[])): Likewise. + (Net.joinOrDrop6(boolean,FileDescriptor,byte[],int,byte[])): Likewise. + (Net.block6(FileDescriptor,byte[],int,byte[])): Likewise. + (Net.unblock6(FileDescriptor,byte[],int,byte[])): Likewise. + (Net.blockOrUnblock6(boolean,FileDescriptor,byte[],int,byte[])): Likewise. + (Net.join4(FileDescriptor,int,int,int)): Likewise. + (Net.drop4(FileDescriptor,int,int,int)): Likewise. + (Net.joinOrDrop4(boolean,FileDescriptor,int,int,int)): Likewise. + (Net.block4(FileDescriptor,int,int,int)): Likewise. + (Net.unblock4(FileDescriptor,int,int,int)): Likewise. + (Net.blockOrUnblock4(boolean,FileDescriptor,int,int,int)): Likewise. + (Net.connect(FileDescriptor,InetAddress,int)): Likewise. + (Net.connect(ProtocolFamily,FileDescriptor,InetAddress,int)): Likewise. + (Net.connect0(boolean,FileDescriptor,InetAddress,int)): Likewise. + (FileDispatcher.NO_LOCK)): Likewise. + (FileDispatcher.LOCKED)): Likewise. + (FileDispatcher.RET_EX_LOCK)): Likewise. + (FileDispatcher.INTERRUPTED)): Likewise. + (FileDispatcher.size(FileDescriptor)): Likewise. + (FileDispatcher.truncate(FileDescriptor, long)): Likewise. + (FileDispatcher.force(FileDescriptor, boolean)): Likewise. + (FileDispatcher.lock(FileDescriptor, boolean, long, long, boolean)): Likewise. + (FileDispatcher.release(FileDescriptor, long, long)): Likewise. + (FileDispatcher.force0(FileDescriptor,boolean)): Likewise. + (FileDispatcher.truncate0(FileDescriptor, long)): Likewise. + (FileDispatcher.size0(FileDescriptor)): Likewise. + (FileDispatcher.lock0(FileDescriptor, boolean, long, long, boolean)): Likewise. + (FileDispatcher.release0(FileDescriptor, long, long)): Likewise. + 2009-01-19 Andrew John Hughes * generated/sun/nio/ch/SocketOptionRegistry.java: diff -r fb3c68368b7f -r 913512a256bd overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java Mon Jan 19 14:25:02 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java Tue Jan 20 00:06:18 2009 +0000 @@ -42,4 +42,5 @@ public interface JavaNetGetIndexAccess public interface JavaNetGetIndexAccess { int getIndex(NetworkInterface nf); + NetworkInterface getByIndex(int i); } diff -r fb3c68368b7f -r 913512a256bd overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java Mon Jan 19 14:25:02 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java Tue Jan 20 00:06:18 2009 +0000 @@ -25,11 +25,11 @@ package sun.nio.ch; -import java.nio.channels.*; import java.net.SocketAddress; import java.net.InetSocketAddress; import java.io.FileDescriptor; import java.io.IOException; +import java.nio.channels.ClosedChannelException; import java.util.Set; import java.util.HashSet; import java.util.Collections; diff -r fb3c68368b7f -r 913512a256bd overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipKeyImpl.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipKeyImpl.java Tue Jan 20 00:06:18 2009 +0000 @@ -0,0 +1,224 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.nio.ch; + +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.io.IOException; +import java.util.HashSet; + +import org.classpath.icedtea.java.nio.channels.MembershipKey; +import org.classpath.icedtea.java.nio.channels.MulticastChannel; + +/** + * MembershipKey implementation. + */ + +class MembershipKeyImpl + extends MembershipKey +{ + private final MulticastChannel ch; + private final InetAddress group; + private final NetworkInterface interf; + private final InetAddress source; + + // true when key is valid + private volatile boolean valid = true; + + // lock used when creating or accessing blockedSet + private Object stateLock = new Object(); + + // set of source addresses that are blocked + private HashSet blockedSet; + + private MembershipKeyImpl(MulticastChannel ch, + InetAddress group, + NetworkInterface interf, + InetAddress source) + { + this.ch = ch; + this.group = group; + this.interf = interf; + this.source = source; + } + + /** + * MembershipKey will additional context for IPv4 membership + */ + static class Type4 extends MembershipKeyImpl { + private final int groupAddress; + private final int interfAddress; + private final int sourceAddress; + + Type4(MulticastChannel ch, + InetAddress group, + NetworkInterface interf, + InetAddress source, + int groupAddress, + int interfAddress, + int sourceAddress) + { + super(ch, group, interf, source); + this.groupAddress = groupAddress; + this.interfAddress = interfAddress; + this.sourceAddress = sourceAddress; + } + + int groupAddress() { + return groupAddress; + } + + int interfaceAddress() { + return interfAddress; + } + + int source() { + return sourceAddress; + } + } + + /** + * MembershipKey will additional context for IPv6 membership + */ + static class Type6 extends MembershipKeyImpl { + private final byte[] groupAddress; + private final int index; + private final byte[] sourceAddress; + + Type6(MulticastChannel ch, + InetAddress group, + NetworkInterface interf, + InetAddress source, + byte[] groupAddress, + int index, + byte[] sourceAddress) + { + super(ch, group, interf, source); + this.groupAddress = groupAddress; + this.index = index; + this.sourceAddress = sourceAddress; + } + + byte[] groupAddress() { + return groupAddress; + } + + int index() { + return index; + } + + byte[] source() { + return sourceAddress; + } + } + + public boolean isValid() { + return valid; + } + + // package-private + void invalidate() { + valid = false; + } + + public void drop() throws IOException { + // delegate to channel + ((DatagramChannelImpl)ch).drop(this); + } + + + public MulticastChannel channel() { + return ch; + } + + + public InetAddress group() { + return group; + } + + + public NetworkInterface networkInterface() { + return interf; + } + + + public InetAddress sourceAddress() { + return source; + } + + + public MembershipKey block(InetAddress toBlock) + throws IOException + { + if (source != null) + throw new IllegalStateException("key is source-specific"); + + synchronized (stateLock) { + if ((blockedSet != null) && blockedSet.contains(toBlock)) { + // already blocked, nothing to do + return this; + } + + ((DatagramChannelImpl)ch).block(this, toBlock); + + // created blocked set if required and add source address + if (blockedSet == null) + blockedSet = new HashSet(); + blockedSet.add(toBlock); + } + return this; + } + + + public MembershipKey unblock(InetAddress toUnblock) + throws IOException + { + synchronized (stateLock) { + if ((blockedSet == null) || !blockedSet.contains(toUnblock)) + throw new IllegalStateException("not blocked"); + + ((DatagramChannelImpl)ch).unblock(this, toUnblock); + + blockedSet.remove(toUnblock); + } + return this; + } + + + public String toString() { + StringBuilder sb = new StringBuilder(64); + sb.append('<'); + sb.append(group.getHostAddress()); + sb.append(','); + sb.append(interf.getName()); + if (source != null) { + sb.append(','); + sb.append(source.getHostAddress()); + } + sb.append('>'); + return sb.toString(); + } +} diff -r fb3c68368b7f -r 913512a256bd overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipRegistry.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipRegistry.java Tue Jan 20 00:06:18 2009 +0000 @@ -0,0 +1,132 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.nio.ch; + +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.util.*; + +import org.classpath.icedtea.java.nio.channels.MembershipKey; + +/** + * Simple registry of membership keys for a MulticastChannel. + * + * Instances of this object are not safe by multiple concurrent threads. + */ + +class MembershipRegistry { + + // map multicast group to keys + private Map> groups = null; + + MembershipRegistry() { + } + + /** + * Checks registry for membership of the group on the given + * network interface. + */ + MembershipKey checkMembership(InetAddress group, NetworkInterface interf, + InetAddress source) + { + if (groups != null) { + List keys = groups.get(group); + if (keys != null) { + for (MembershipKeyImpl key: keys) { + if (key.networkInterface().equals(interf)) { + // already a member to receive all packets so return + // existing key or detect conflict + if (source == null) { + if (key.sourceAddress() == null) + return key; + throw new IllegalStateException("Already a member to receive all packets"); + } + + // already have source-specific membership so return key + // or detect conflict + if (key.sourceAddress() == null) + throw new IllegalStateException("Already have source-specific membership"); + if (source.equals(key.sourceAddress())) + return key; + } + } + } + } + return null; + } + + /** + * Add membership to the registry, returning a new membership key. + */ + void add(MembershipKeyImpl key) { + InetAddress group = key.group(); + List keys; + if (groups == null) { + groups = new HashMap>(); + keys = null; + } else { + keys = groups.get(group); + } + if (keys == null) { + keys = new LinkedList(); + groups.put(group, keys); + } + keys.add(key); + } + + /** + * Remove a key from the registry + */ + void remove(MembershipKeyImpl key) { + InetAddress group = key.group(); + List keys = groups.get(group); + if (keys != null) { + Iterator i = keys.iterator(); + while (i.hasNext()) { + if (i.next() == key) { + i.remove(); + break; + } + } + if (keys.isEmpty()) { + groups.remove(group); + } + } + } + + /** + * Invalidate all keys in the registry + */ + void invalidateAll() { + if (groups != null) { + for (InetAddress group: groups.keySet()) { + for (MembershipKeyImpl key: groups.get(group)) { + key.invalidate(); + } + } + } + } +} diff -r fb3c68368b7f -r 913512a256bd overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java Mon Jan 19 14:25:02 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java Tue Jan 20 00:06:18 2009 +0000 @@ -25,13 +25,21 @@ package sun.nio.ch; -import java.nio.channels.*; import java.util.concurrent.*; import java.nio.ByteBuffer; +import java.nio.channels.AsynchronousCloseException; +import java.nio.channels.ClosedChannelException; +import java.nio.channels.NonReadableChannelException; +import java.nio.channels.NonWritableChannelException; import java.security.AccessController; import java.security.PrivilegedAction; import java.io.FileDescriptor; import java.io.IOException; + +import org.classpath.icedtea.java.nio.channels.AsynchronousFileChannel; +import org.classpath.icedtea.java.nio.channels.CompletionHandler; +import org.classpath.icedtea.java.nio.channels.FileLock; +import org.classpath.icedtea.java.nio.channels.ShutdownChannelGroupException; /** * "Portable" implementation of AsynchronousFileChannel for use on operating @@ -60,7 +68,7 @@ public class SimpleAsynchronousFileChann } From gnu_andrew at member.fsf.org Tue Feb 3 04:13:59 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:59 +0000 Subject: changeset in /hg/icedtea6: Merge. Message-ID: changeset 721c79ccc804 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=721c79ccc804 description: Merge. diffstat: 18 files changed, 678 insertions(+), 95 deletions(-) ChangeLog | 33 + IcedTeaPlugin.cc | 2 plugin/icedtea/sun/applet/PluginAppletViewer.java | 12 plugin/icedtea/sun/applet/PluginMain.java | 22 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 34 + rt/net/sourceforge/jnlp/security/AccessWarningPane.java | 34 + rt/net/sourceforge/jnlp/security/AppletWarningPane.java | 6 rt/net/sourceforge/jnlp/security/CertWarningPane.java | 27 - rt/net/sourceforge/jnlp/security/CertsInfoPane.java | 4 rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 119 +++++ rt/net/sourceforge/jnlp/security/MoreInfoPane.java | 30 - rt/net/sourceforge/jnlp/security/SecurityDialogUI.java | 32 - rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 50 +- rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 6 rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 222 ++++++++++ rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 18 rt/net/sourceforge/jnlp/tools/CertVerifier.java | 92 ++++ rt/net/sourceforge/jnlp/tools/JarSigner.java | 30 + diffs (truncated from 1216 to 500 lines): diff -r 913512a256bd -r 721c79ccc804 ChangeLog --- a/ChangeLog Tue Jan 20 00:06:18 2009 +0000 +++ b/ChangeLog Tue Jan 20 09:44:16 2009 +0000 @@ -74,6 +74,39 @@ 2009-01-19 Andrew John Hughes + * IcedTeaPlugin.cc: Add "Java" in the plugin description string. + * plugin/icedtea/sun/applet/PluginAppletViewer.java: Change the way the + image was searched locally. + * plugin/icedtea/sun/applet/PluginMain.java: Install a custom SSL trust + manager. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Cache file names + from jars. + * rt/net/sourceforge/jnlp/security/AccessWarningPane.java: Accept + CertVerifier as an additional argument. + * rt/net/sourceforge/jnlp/security/AppletWarningPane.java: Same. + * rt/net/sourceforge/jnlp/security/CertWarningPane.java: Same. + * rt/net/sourceforge/jnlp/security/CertsInfoPane.java: Same. + * rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java: New file. + Implements information gathering functions used by various prompt dialogs. + * rt/net/sourceforge/jnlp/security/MoreInfoPane.java: Accept CertVerifier + as an additional argument. + * rt/net/sourceforge/jnlp/security/SecurityDialogUI.java: Same. + * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Use the new + common CertVerifier interface to gather information. + * rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java: Accept + CertVerifier as an additional argument. + * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java: + Customized trustmanager that can temporarily trust certificates on the + fly. + * rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Accept + CertVerifier as an additional argument. + * rt/net/sourceforge/jnlp/tools/CertVerifier.java: New common interface + that all security related dialogs now query for certificate info (jar and + https). + * rt/net/sourceforge/jnlp/tools/JarSigner.java: Implement the new + CertVerifier verifier interface. + 2009-01-19 Andrew John Hughes * generated/sun/nio/ch/SocketOptionRegistry.java: diff -r 913512a256bd -r 721c79ccc804 IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Tue Jan 20 00:06:18 2009 +0000 +++ b/IcedTeaPlugin.cc Tue Jan 20 09:44:16 2009 +0000 @@ -275,7 +275,7 @@ inline long get_time_in_s() #define PLUGIN_CHECK(message, result) #endif -#define PLUGIN_NAME "IcedTea Web Browser Plugin" +#define PLUGIN_NAME "IcedTea Java Web Browser Plugin" #define PLUGIN_DESCRIPTION "The " PLUGIN_NAME PLUGIN_VERSION " executes Java applets." #define PLUGIN_MIME_DESC \ "application/x-java-vm:class,jar:IcedTea;" \ diff -r 913512a256bd -r 721c79ccc804 plugin/icedtea/sun/applet/PluginAppletViewer.java --- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Tue Jan 20 00:06:18 2009 +0000 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Tue Jan 20 09:44:16 2009 +0000 @@ -176,7 +176,7 @@ import sun.misc.Ref; AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { - panel = new NetxPanel(doc, atts, true); + panel = new NetxPanel(doc, atts, false); AppletViewerPanel.debug("Using NetX panel"); PluginDebug.debug(atts.toString()); } catch (Exception ex) { @@ -612,8 +612,14 @@ import sun.misc.Ref; // try to fetch it locally if (panel instanceof NetxPanel) { + URL localURL = null; - localURL = ((NetxPanel) panel).getAppletClassLoader().getResource(originalURL.substring(codeBase.length())); + + String resourceName = originalURL.substring(codeBase.length()); + JNLPClassLoader loader = (JNLPClassLoader) ((NetxPanel) panel).getAppletClassLoader(); + + if (loader.resourceAvailableLocally(resourceName)) + localURL = loader.getResource(resourceName); url = localURL != null ? localURL : url; } @@ -630,7 +636,7 @@ import sun.misc.Ref; return ref; } } catch (Exception e) { - System.err.println("Error occurred wgen trying to fetch image:"); + System.err.println("Error occurred when trying to fetch image:"); e.printStackTrace(); return null; } diff -r 913512a256bd -r 721c79ccc804 plugin/icedtea/sun/applet/PluginMain.java --- a/plugin/icedtea/sun/applet/PluginMain.java Tue Jan 20 00:06:18 2009 +0000 +++ b/plugin/icedtea/sun/applet/PluginMain.java Tue Jan 20 09:44:16 2009 +0000 @@ -33,6 +33,14 @@ import java.net.Socket; import java.net.Socket; import java.util.Enumeration; import java.util.Properties; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; + +import javax.net.ssl.HttpsURLConnection; + +import net.sourceforge.jnlp.security.VariableX509TrustManager; /** * The main entry point into PluginAppletViewer. @@ -152,7 +160,19 @@ public class PluginMain // INSTALL THE PROPERTY LIST System.setProperties(avProps); - // REMIND: Create and install a socket factory! + + try { + SSLSocketFactory sslSocketFactory; + SSLContext context = SSLContext.getInstance("SSL"); + TrustManager[] trust = new TrustManager[] { VariableX509TrustManager.getInstance() }; + context.init(null, trust, null); + sslSocketFactory = context.getSocketFactory(); + + HttpsURLConnection.setDefaultSSLSocketFactory(sslSocketFactory); + } catch (Exception e) { + System.err.println("Unable to set SSLSocketfactory (may _prevent_ access to sites that should be trusted)! Continuing anyway..."); + e.printStackTrace(); + } } static boolean messageAvailable() { diff -r 913512a256bd -r 721c79ccc804 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jan 20 00:06:18 2009 +0000 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jan 20 09:44:16 2009 +0000 @@ -29,7 +29,6 @@ import java.security.Permission; import java.security.Permission; import java.security.PermissionCollection; import java.security.Permissions; -import java.security.Policy; import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.Enumeration; @@ -38,6 +37,7 @@ import java.util.List; import java.util.List; import java.util.Map; import java.util.Random; +import java.util.TreeSet; import java.util.Vector; import java.util.jar.JarEntry; import java.util.jar.JarFile; @@ -131,7 +131,11 @@ public class JNLPClassLoader extends URL private boolean signing = false; + /** ArrayList containing jar indexes for various jars available to this classloader */ private ArrayList jarIndexes = new ArrayList(); + + /** File entries in the jar files available to this classloader */ + private TreeSet jarEntries = new TreeSet(); /** * Create a new JNLPClassLoader from the specified file. @@ -478,7 +482,6 @@ public class JNLPClassLoader extends URL // transfer the Jars waitForJars(jars); - for (int i=0; i < jars.size(); i++) { JARDesc jar = (JARDesc) jars.get(i); @@ -488,8 +491,23 @@ public class JNLPClassLoader extends URL File localFile = tracker.getCacheFile(jar.getLocation()); try { URL location = jar.getLocation(); // non-cacheable, use source location - if (localFile != null) + if (localFile != null) { location = localFile.toURL(); // cached file + + // This is really not the best way.. but we need some way for + // PluginAppletViewer::getCachedImageRef() to check if the image + // is available locally, and it cannot use getResources() because + // that prefetches the resource, which confuses MediaTracker.waitForAll() + // which does a wait(), waiting for notification (presumably + // thrown after a resource is fetched). This bug manifests itself + // particularly when using The FileManager applet from Webmin. + + JarFile jarFile = new JarFile(localFile); + Enumeration e = jarFile.entries(); + while (e.hasMoreElements()) + jarEntries.add(((JarEntry) e.nextElement()).getName()); + + } addURL(location); @@ -829,6 +847,16 @@ public class JNLPClassLoader extends URL return resources.elements(); } + + /** + * Returns if the specified resource is available locally from a cached jar + * + * @param s The name of the resource + * @return Whether or not the resource is available locally + */ + public boolean resourceAvailableLocally(String s) { + return jarEntries.contains(s); + } /** * Adds whatever resources have already been downloaded in the diff -r 913512a256bd -r 721c79ccc804 rt/net/sourceforge/jnlp/security/AccessWarningPane.java --- a/rt/net/sourceforge/jnlp/security/AccessWarningPane.java Tue Jan 20 00:06:18 2009 +0000 +++ b/rt/net/sourceforge/jnlp/security/AccessWarningPane.java Tue Jan 20 09:44:16 2009 +0000 @@ -37,14 +37,28 @@ exception statement from your version. package net.sourceforge.jnlp.security; -import java.awt.*; -import javax.swing.*; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Font; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; -import java.net.URL; + +import javax.swing.BorderFactory; +import javax.swing.BoxLayout; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingConstants; import net.sourceforge.jnlp.JNLPFile; import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.tools.CertVerifier; /** * Provides the look and feel for a SecurityWarningDialog. These dialogs are @@ -59,12 +73,12 @@ public class AccessWarningPane extends S JCheckBox alwaysAllow; Object[] extras; - public AccessWarningPane(JComponent x) { - super(x); - } - - public AccessWarningPane(JComponent x, Object[] extras) { - super(x); + public AccessWarningPane(JComponent x, CertVerifier certVerifier) { + super(x, certVerifier); + } + + public AccessWarningPane(JComponent x, Object[] extras, CertVerifier certVerifier) { + super(x, certVerifier); this.extras = extras; } diff -r 913512a256bd -r 721c79ccc804 rt/net/sourceforge/jnlp/security/AppletWarningPane.java --- a/rt/net/sourceforge/jnlp/security/AppletWarningPane.java Tue Jan 20 00:06:18 2009 +0000 +++ b/rt/net/sourceforge/jnlp/security/AppletWarningPane.java Tue Jan 20 09:44:16 2009 +0000 @@ -50,10 +50,12 @@ import javax.swing.JLabel; import javax.swing.JLabel; import javax.swing.JPanel; +import net.sourceforge.jnlp.tools.CertVerifier; + public class AppletWarningPane extends SecurityDialogUI { - public AppletWarningPane(JComponent x) { - super(x); + public AppletWarningPane(JComponent x, CertVerifier certVerifier) { + super(x, certVerifier); } protected void installComponents() { diff -r 913512a256bd -r 721c79ccc804 rt/net/sourceforge/jnlp/security/CertWarningPane.java --- a/rt/net/sourceforge/jnlp/security/CertWarningPane.java Tue Jan 20 00:06:18 2009 +0000 +++ b/rt/net/sourceforge/jnlp/security/CertWarningPane.java Tue Jan 20 09:44:16 2009 +0000 @@ -37,18 +37,31 @@ exception statement from your version. package net.sourceforge.jnlp.security; -import java.awt.*; -import javax.swing.*; - - +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Font; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; import java.security.cert.Certificate; import java.security.cert.X509Certificate; + +import javax.swing.BorderFactory; +import javax.swing.BoxLayout; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingConstants; import net.sourceforge.jnlp.JNLPFile; import net.sourceforge.jnlp.PluginBridge; import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.tools.CertVerifier; import net.sourceforge.jnlp.tools.KeyTool; /** @@ -63,8 +76,8 @@ public class CertWarningPane extends Sec JCheckBox alwaysTrust; - public CertWarningPane(JComponent x) { - super(x); + public CertWarningPane(JComponent x, CertVerifier certVerifier) { + super(x, certVerifier); } /** diff -r 913512a256bd -r 721c79ccc804 rt/net/sourceforge/jnlp/security/CertsInfoPane.java --- a/rt/net/sourceforge/jnlp/security/CertsInfoPane.java Tue Jan 20 00:06:18 2009 +0000 +++ b/rt/net/sourceforge/jnlp/security/CertsInfoPane.java Tue Jan 20 09:44:16 2009 +0000 @@ -76,8 +76,8 @@ public class CertsInfoPane extends Secur private String[] columnNames = { "Field", "Value" }; protected ArrayList certsData; - public CertsInfoPane(JComponent x) { - super(x); + public CertsInfoPane(JComponent x, CertVerifier certVerifier) { + super(x, certVerifier); } /** diff -r 913512a256bd -r 721c79ccc804 rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java Tue Jan 20 09:44:16 2009 +0000 @@ -0,0 +1,119 @@ +/* VariableX509TrustManager.java + Copyright (C) 2009 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package net.sourceforge.jnlp.security; + +import java.security.cert.CertPath; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.ArrayList; + +import net.sourceforge.jnlp.tools.CertVerifier; + +public class HttpsCertVerifier implements CertVerifier { + + private VariableX509TrustManager tm; + private X509Certificate[] chain; + private String authType; + + public HttpsCertVerifier(VariableX509TrustManager tm, X509Certificate[] chain, String authType) { + this.tm = tm; + this.chain = chain; + this.authType = authType; + } + + public boolean getAlreadyTrustPublisher() { + try { + tm.checkServerTrusted(chain, authType, true); + return true; + } catch (CertificateException ce) { + return false; + } + } + + public ArrayList getCerts() { + + ArrayList list = new ArrayList(); + for (int i=0; i < chain.length; i++) + list.add(chain[i]); + + ArrayList certPaths = new ArrayList(); + + try { + certPaths.add(CertificateFactory.getInstance("X.509").generateCertPath(list)); + } catch (CertificateException ce) { + ce.printStackTrace(); + + // carry on + } + + return certPaths; + } + + public ArrayList getDetails() { + // TODO Auto-generated method stub + return new ArrayList(); + } + + public Certificate getPublisher() { + // TODO Auto-generated method stub + return null; + } + + public Certificate getRoot() { + // TODO Auto-generated method stub + return null; + } + + public boolean getRootInCacerts() { + // TODO Auto-generated method stub + return false; + } + + public boolean hasSigningIssues() { + // TODO Auto-generated method stub + return false; + } + + public boolean noSigningIssues() { + // TODO Auto-generated method stub + return false; + } + +} diff -r 913512a256bd -r 721c79ccc804 rt/net/sourceforge/jnlp/security/MoreInfoPane.java --- a/rt/net/sourceforge/jnlp/security/MoreInfoPane.java Tue Jan 20 00:06:18 2009 +0000 +++ b/rt/net/sourceforge/jnlp/security/MoreInfoPane.java Tue Jan 20 09:44:16 2009 +0000 @@ -37,15 +37,23 @@ exception statement from your version. package net.sourceforge.jnlp.security; -import java.awt.*; -import javax.swing.*; +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; -import net.sourceforge.jnlp.runtime.*; +import javax.swing.BorderFactory; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingConstants; -import java.util.ArrayList; -import java.awt.event.ActionListener; From gnu_andrew at member.fsf.org Tue Feb 3 04:13:59 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:59 +0000 Subject: changeset in /hg/icedtea6: Fix remaining Java files and backport... Message-ID: changeset 050b48f42fb3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=050b48f42fb3 description: Fix remaining Java files and backport Net.c and RESTARTABLE macro. 2009-01-26 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java: Fix imports. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java: Fix imports and use of varargs. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java: Fix imports. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java: Fix imports and use of varargs. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java: Fix imports. * patches/icedtea-nio2.patch: (FileChannelImpl): Fix imports. (Net.c): Patch to new version with new functions. (nio_util.h): Add RESTARTABLE macro. diffstat: 22 files changed, 898 insertions(+), 47 deletions(-) ChangeLog | 75 - overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java | 1 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java | 15 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java | 3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java | 4 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java | 10 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java | 6 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java | 7 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java | 9 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java | 9 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java | 1 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java | 6 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java | 13 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java | 3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java | 4 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java | 13 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java | 11 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java | 15 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java | 32 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java | 20 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java | 4 patches/icedtea-nio2.patch | 684 ++++++++++ diffs (truncated from 1408 to 500 lines): diff -r 721c79ccc804 -r 050b48f42fb3 ChangeLog --- a/ChangeLog Tue Jan 20 09:44:16 2009 +0000 +++ b/ChangeLog Mon Jan 26 23:09:32 2009 +0000 @@ -1,4 +1,36 @@ 2009-01-19 Andrew John Hughes +2009-01-26 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java: + Fix imports and use of varargs. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java: + Fix imports and use of varargs. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java: + Fix imports. + * patches/icedtea-nio2.patch: + (FileChannelImpl): Fix imports. + (Net.c): Patch to new version with new functions. + (nio_util.h): Add RESTARTABLE macro. + +2009-01-19 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java: (getByIndex(int)): New method. @@ -75,6 +107,7 @@ 2009-01-19 Andrew John Hughes + * IcedTeaPlugin.cc: Add "Java" in the plugin description string. * plugin/icedtea/sun/applet/PluginAppletViewer.java: Change the way the image was searched locally. @@ -107,7 +140,7 @@ 2009-01-19 Deepak Bhole +2009-01-19 Andrew John Hughes * generated/sun/nio/ch/SocketOptionRegistry.java: * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/DatagramChannel.java: @@ -158,7 +191,7 @@ 2009-01-15 Gary Benson +2009-01-14 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: Extend java.nio.channels.FileChannel to minimise code. @@ -184,13 +217,13 @@ 2009-01-13 Omair Majid +2009-01-13 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java: Add missing SharedSecrets files. -2009-01-13 Andrew John Hughes +2009-01-13 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java, * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardSocketOption.java: @@ -231,7 +264,7 @@ 2009-01-13 Andrew John Hughes +2009-01-12 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java, * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java, @@ -290,7 +323,7 @@ 2009-01-13 Gary Benson +2009-01-12 Andrew John Hughes Initial import of NIO2 code. * patches/ecj/icedtea-pr261.patch: Moved to general patches. @@ -750,13 +783,13 @@ 2008-12-19 Andrew Haley +2008-12-17 Andrew John Hughes * acinclude.m4: (FIND_RHINO_JAR): Check for js.jar in Gentoo install location too. -2008-12-17 Andrew John Hughes +2008-12-17 Andrew John Hughes * Makefile.am: No need to check again that SYSTEM_GCJ_DIR exists. @@ -769,7 +802,7 @@ 2008-12-17 Andrew John Hughes +2008-12-17 Andrew John Hughes * Makefile.am: Remove use of LIBGCJ_JAR, replacing with @@ -783,7 +816,7 @@ 2008-12-17 Andrew John Hughes +2008-12-17 Andrew John Hughes * Makefile.am: Remove the HotSpot directory while extracting @@ -855,7 +888,7 @@ 2008-12-10 Deepak Bhole +2008-12-09 Andrew John Hughes * Makefile.am: Support use of HGREV. @@ -864,14 +897,14 @@ 2008-12-09 Andrew John Hughes +2008-12-09 Andrew John Hughes * Makefile.am: Properly support --with-openjdk-src-dir. * acinclude.m4: Correct the define for OPENJDK_SRC_DIR. -2008-12-09 Andrew John Hughes +2008-12-09 Andrew John Hughes * Makefile.am: Support downloading from the Mercurial repository. @@ -880,7 +913,7 @@ 2008-12-09 Andrew John Hughes +2008-12-09 Andrew John Hughes * Makefile.am: Make XRender patch wildcard work where @@ -888,7 +921,7 @@ 2008-12-09 Andrew John Hughes +2008-12-09 Andrew John Hughes * Makefile.am: Don't use find to locate the hotspot directory, @@ -957,7 +990,7 @@ 2008-12-04 Matthias Klose +2008-12-04 Andrew John Hughes * Makefile.am: Prefix the call to uname -m with @@ -965,7 +998,7 @@ 2008-12-04 Andrew John Hughes +2008-12-04 Andrew John Hughes * Makefile.am: Prefix make invocations with @@ -1081,7 +1114,7 @@ 2008-12-02 Omair Majid +2008-12-03 Andrew John Hughes Create hierarchical patch space. * patches/icedtea-4486841.patch, @@ -1263,7 +1296,7 @@ 2008-12-02 Lillian Angel +2008-12-02 Andrew John Hughes * patches/icedtea-bytecodeInterpreter.patch, * patches/icedtea-hotspot7-build-fixes.patch: @@ -1282,7 +1315,7 @@ 2008-12-02 Andrew John Hughes +2008-12-01 Andrew John Hughes * patches/icedtea-hotspot-params-cast-size_t.patch, * patches/icedtea-hotspot-use-idx_t.patch, diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java Mon Jan 26 23:09:32 2009 +0000 @@ -27,6 +27,7 @@ package sun.nio.ch; package sun.nio.ch; import java.io.IOException; +import java.nio.channels.Channel; import java.nio.channels.ClosedChannelException; import java.nio.channels.FileChannel; diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java Mon Jan 26 23:09:32 2009 +0000 @@ -25,14 +25,25 @@ package sun.nio.fs; -import java.nio.file.*; -import java.nio.file.attribute.*; import java.security.AccessController; import java.security.PrivilegedAction; import java.security.PrivilegedExceptionAction; import java.security.PrivilegedActionException; import java.io.IOException; import java.util.*; + +import org.classpath.icedtea.java.nio.file.ClosedWatchServiceException; +import org.classpath.icedtea.java.nio.file.DirectoryStream; +import org.classpath.icedtea.java.nio.file.FileRef; +import org.classpath.icedtea.java.nio.file.LinkOption; +import org.classpath.icedtea.java.nio.file.NotDirectoryException; +import org.classpath.icedtea.java.nio.file.Path; +import org.classpath.icedtea.java.nio.file.StandardWatchEventKind; +import org.classpath.icedtea.java.nio.file.WatchEvent; +import org.classpath.icedtea.java.nio.file.WatchKey; + +import org.classpath.icedtea.java.nio.file.attribute.Attributes; +import org.classpath.icedtea.java.nio.file.attribute.BasicFileAttributes; /** * Simple WatchService implementation that uses background thread to poll diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java Mon Jan 26 23:09:32 2009 +0000 @@ -25,10 +25,11 @@ package sun.nio.fs; -import java.nio.file.FileRef; import java.io.IOException; import java.security.AccessController; import java.security.PrivilegedAction; + +import org.classpath.icedtea.java.nio.file.FileRef; /** * File type detector that uses the GNOME I/O library or the deprecated diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java Mon Jan 26 23:09:32 2009 +0000 @@ -30,6 +30,8 @@ import java.io.IOException; import java.io.IOException; import sun.misc.Unsafe; +import org.classpath.icedtea.java.nio.file.attribute.BasicFileAttributes; +import org.classpath.icedtea.java.nio.file.attribute.DosFileAttributes; import org.classpath.icedtea.java.nio.file.attribute.DosFileAttributeView; import static sun.nio.fs.UnixNativeDispatcher.*; @@ -105,7 +107,7 @@ class LinuxDosFileAttributeView } - public Map readAttributes(String first, String[] rest) + public Map readAttributes(String first, String... rest) throws IOException { AttributesBuilder builder = AttributesBuilder.create(first, rest); diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Mon Jan 26 23:09:32 2009 +0000 @@ -25,13 +25,19 @@ package sun.nio.fs; -import java.nio.file.*; -import java.nio.file.attribute.*; import java.io.IOException; import java.util.*; import java.security.AccessController; import sun.security.action.GetPropertyAction; import static sun.nio.fs.LinuxNativeDispatcher.*; + +import org.classpath.icedtea.java.nio.file.FileStore; +import org.classpath.icedtea.java.nio.file.LinkOption; +import org.classpath.icedtea.java.nio.file.WatchService; + +import org.classpath.icedtea.java.nio.file.attribute.DosFileAttributeView; +import org.classpath.icedtea.java.nio.file.attribute.FileAttributeView; +import org.classpath.icedtea.java.nio.file.attribute.NamedAttributeView; /** * Linux implementation of FileSystem diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java Mon Jan 26 23:09:32 2009 +0000 @@ -25,11 +25,15 @@ package sun.nio.fs; -import java.nio.file.*; import java.nio.ByteBuffer; import java.io.IOException; import java.util.*; import sun.misc.Unsafe; + +import org.classpath.icedtea.java.nio.channels.AsynchronousFileChannel; +import org.classpath.icedtea.java.nio.channels.FileChannel; + +import org.classpath.icedtea.java.nio.file.FileSystemException; import static sun.nio.fs.UnixConstants.*; import static sun.nio.fs.LinuxNativeDispatcher.*; diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java Mon Jan 26 23:09:32 2009 +0000 @@ -25,12 +25,17 @@ package sun.nio.fs; -import java.nio.file.*; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.*; import java.io.IOException; import sun.misc.Unsafe; + +import org.classpath.icedtea.java.nio.file.NotDirectoryException; +import org.classpath.icedtea.java.nio.file.Path; +import org.classpath.icedtea.java.nio.file.StandardWatchEventKind; +import org.classpath.icedtea.java.nio.file.WatchEvent; +import org.classpath.icedtea.java.nio.file.WatchKey; import static sun.nio.fs.UnixNativeDispatcher.*; import static sun.nio.fs.UnixConstants.*; diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java Mon Jan 26 23:09:32 2009 +0000 @@ -25,8 +25,6 @@ package sun.nio.fs; -import java.nio.file.*; -import java.nio.channels.*; import java.io.FileDescriptor; import java.util.Set; @@ -35,6 +33,13 @@ import sun.nio.ch.SimpleAsynchronousFile import sun.nio.ch.SimpleAsynchronousFileChannelImpl; import sun.misc.SharedSecrets; import sun.misc.JavaIOFileDescriptorAccess; + +import org.classpath.icedtea.java.nio.channels.AsynchronousFileChannel; +import org.classpath.icedtea.java.nio.channels.FileChannel; + +import org.classpath.icedtea.java.nio.file.LinkOption; +import org.classpath.icedtea.java.nio.file.OpenOption; +import org.classpath.icedtea.java.nio.file.StandardOpenOption; import static sun.nio.fs.UnixNativeDispatcher.*; import static sun.nio.fs.UnixConstants.*; diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java Mon Jan 26 23:09:32 2009 +0000 @@ -25,12 +25,19 @@ package sun.nio.fs; -import java.nio.file.*; import java.io.IOException; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.concurrent.ExecutionException; import com.sun.nio.file.ExtendedCopyOption; + +import org.classpath.icedtea.java.nio.file.AtomicMoveNotSupportedException; +import org.classpath.icedtea.java.nio.file.CopyOption; +import org.classpath.icedtea.java.nio.file.DirectoryNotEmptyException; +import org.classpath.icedtea.java.nio.file.FileAlreadyExistsException; +import org.classpath.icedtea.java.nio.file.LinkOption; +import org.classpath.icedtea.java.nio.file.LinkPermission; +import org.classpath.icedtea.java.nio.file.StandardCopyOption; import static sun.nio.fs.UnixNativeDispatcher.*; import static sun.nio.fs.UnixConstants.*; diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java Mon Jan 26 23:09:32 2009 +0000 @@ -32,6 +32,7 @@ import java.io.IOException; import java.io.IOException; import static sun.nio.fs.UnixNativeDispatcher.*; +import org.classpath.icedtea.java.nio.file.ClosedDirectoryStreamException; import org.classpath.icedtea.java.nio.file.DirectoryStream; import org.classpath.icedtea.java.nio.file.Path; diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java Mon Jan 26 23:09:32 2009 +0000 @@ -25,8 +25,12 @@ package sun.nio.fs; -import java.nio.file.*; import java.io.IOException; + +import org.classpath.icedtea.java.nio.file.AccessDeniedException; +import org.classpath.icedtea.java.nio.file.FileAlreadyExistsException; +import org.classpath.icedtea.java.nio.file.FileSystemException; +import org.classpath.icedtea.java.nio.file.NoSuchFileException; /** * Internal exception thrown by native methods when error detected. diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java Mon Jan 26 23:09:32 2009 +0000 @@ -29,7 +29,16 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit; import java.io.IOException; +import org.classpath.icedtea.java.nio.file.ProviderMismatchException; + +import org.classpath.icedtea.java.nio.file.attribute.BasicFileAttributes; +import org.classpath.icedtea.java.nio.file.attribute.BasicFileAttributeView; +import org.classpath.icedtea.java.nio.file.attribute.FileOwnerAttributeView; +import org.classpath.icedtea.java.nio.file.attribute.GroupPrincipal; +import org.classpath.icedtea.java.nio.file.attribute.PosixFileAttributes; import org.classpath.icedtea.java.nio.file.attribute.PosixFileAttributeView; +import org.classpath.icedtea.java.nio.file.attribute.PosixFilePermission; +import org.classpath.icedtea.java.nio.file.attribute.UserPrincipal; import static sun.nio.fs.UnixNativeDispatcher.*; @@ -199,7 +208,7 @@ class UnixFileAttributeViews { } - public Map readAttributes(String first, String[] rest) + public Map readAttributes(String first, String... rest) throws IOException { AttributesBuilder builder = AttributesBuilder.create(first, rest); @@ -349,7 +358,7 @@ class UnixFileAttributeViews { } - public Map readAttributes(String first, String[] rest) + public Map readAttributes(String first, String... rest) throws IOException { AttributesBuilder builder = AttributesBuilder.create(first, rest); diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java Tue Jan 20 09:44:16 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java Mon Jan 26 23:09:32 2009 +0000 @@ -31,6 +31,9 @@ import java.util.HashSet; import org.classpath.icedtea.java.nio.file.attribute.BasicFileAttributes; import org.classpath.icedtea.java.nio.file.attribute.PosixFileAttributes; +import org.classpath.icedtea.java.nio.file.attribute.PosixFilePermission; +import org.classpath.icedtea.java.nio.file.attribute.GroupPrincipal; +import org.classpath.icedtea.java.nio.file.attribute.UserPrincipal; /** * Unix implementation of PosixFileAttributes. diff -r 721c79ccc804 -r 050b48f42fb3 overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java From ahughes at redhat.com Tue Feb 3 04:13:59 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:13:59 +0000 Subject: changeset in /hg/icedtea6: Merge. Message-ID: changeset 514ec9ce7cae in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=514ec9ce7cae description: Merge. diffstat: 76 files changed, 1371 insertions(+), 896 deletions(-) .hgtags | 2 ChangeLog | 275 ++++++++++ HACKING | 1 INSTALL | 4 Makefile.am | 211 ------- NEWS | 8 README | 14 acinclude.m4 | 76 -- configure.ac | 35 - patches/icedtea-awt-window-size.patch | 4 patches/icedtea-cc-interp-jvmti.patch | 12 patches/icedtea-visualvm.patch | 26 plugin/icedtea/sun/applet/AppletSecurityContextManager.java | 38 + plugin/icedtea/sun/applet/PluginAppletSecurityContext.java | 3 plugin/icedtea/sun/applet/PluginAppletViewer.java | 39 + plugin/icedtea/sun/applet/PluginCallRequestFactory.java | 38 + plugin/icedtea/sun/applet/PluginClassLoader.java | 38 + plugin/icedtea/sun/applet/PluginDebug.java | 38 + plugin/icedtea/sun/applet/PluginException.java | 38 + plugin/icedtea/sun/applet/PluginMain.java | 37 + plugin/icedtea/sun/applet/PluginMessageConsumer.java | 38 + plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java | 38 + plugin/icedtea/sun/applet/PluginStreamHandler.java | 38 + plugin/icedtea/sun/applet/RequestQueue.java | 40 + ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 32 + ports/hotspot/src/cpu/zero/vm/frame_zero.hpp | 8 ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp | 27 ports/hotspot/src/cpu/zero/vm/stack_zero.hpp | 2 ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp | 4 ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp | 4 ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp | 9 ports/hotspot/src/share/vm/includeDB_shark | 2 ports/hotspot/src/share/vm/shark/llvmHeaders.hpp | 4 ports/hotspot/src/share/vm/shark/sharkBlock.cpp | 25 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 24 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 98 +++ ports/hotspot/src/share/vm/shark/sharkBytecodeTracer.cpp | 2 ports/hotspot/src/share/vm/shark/sharkEntry.cpp | 24 ports/hotspot/src/share/vm/shark/sharkEntry.hpp | 20 ports/hotspot/src/share/vm/shark/sharkFunction.cpp | 24 ports/hotspot/src/share/vm/shark/sharkFunction.hpp | 2 ports/hotspot/src/share/vm/shark/shark_globals.hpp | 3 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java | 56 -- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMuteControl.java | 73 -- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java | 45 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java | 59 -- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 52 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java | 4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java | 24 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java | 17 pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c | 66 -- pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c | 10 pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c | 14 pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c | 64 ++ pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java | 2 pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java | 10 pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java | 20 pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java | 5 pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java | 5 rt/net/sourceforge/jnlp/DefaultLaunchHandler.java | 2 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 2 rt/net/sourceforge/jnlp/security/AccessWarningPane.java | 1 rt/net/sourceforge/jnlp/security/AppletWarningPane.java | 1 rt/net/sourceforge/jnlp/security/CertVerifier.java | 92 +++ rt/net/sourceforge/jnlp/security/CertWarningPane.java | 39 - rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 82 ++ rt/net/sourceforge/jnlp/security/MoreInfoPane.java | 1 rt/net/sourceforge/jnlp/security/SecurityDialogUI.java | 1 rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 1 rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 1 rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 3 rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 2 rt/net/sourceforge/jnlp/tools/CertVerifier.java | 92 --- rt/net/sourceforge/jnlp/tools/KeyTool.java | 1 visualvm.desktop | 9 diffs (truncated from 3618 to 500 lines): diff -r 050b48f42fb3 -r 514ec9ce7cae .hgtags --- a/.hgtags Mon Jan 26 23:09:32 2009 +0000 +++ b/.hgtags Mon Jan 26 23:12:40 2009 +0000 @@ -10,3 +10,5 @@ 871b70407a139c6bd42c200762ee1d302b31168f 871b70407a139c6bd42c200762ee1d302b31168f icedtea6-1.2 3ef9c9c4e70b8204b73fa9b88243f49f59c2a23f icedtea6-1.3 be368b1e3c7dca9b4dfe8e8f40be794ecfbef22e icedtea6-1.3.1 +6c02b699206db299c6bc96d97d31808bf84f042a icedtea6-1.4pre +2b1c03c1e9fa88e453da2ca774dc8900227a2e16 icedtea6-1.4 diff -r 050b48f42fb3 -r 514ec9ce7cae ChangeLog --- a/ChangeLog Mon Jan 26 23:09:32 2009 +0000 +++ b/ChangeLog Mon Jan 26 23:12:40 2009 +0000 @@ -29,6 +29,281 @@ 2009-01-26 Andrew John Hughes + + * configure.ac: Updated to pre-1.5 version. + +2009-01-26 Gary Benson + + * ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp + (JavaThread::has_special_condition_for_native_trans): New method. + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp: + (CppInterpreter::native_entry): Correctly handle safepoints + during post-call thread state transition. + +2009-01-22 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp: + (CppInterpreter::native_entry): Correctly handle asynchronous + exceptions during post-call thread state transition. + +2009-01-22 Omair Majid + Ioana Ivan + + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java + (start): Return silently if already started. + (stop): Return silently if already stopped. + +2009-01-22 Deepak Bhole + + * plugin/icedtea/sun/applet/PluginAppletSecurityContext.java: Use + Hashtable to store classloaders, instead of HashMap (values cannot be + null in HashTable). + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Catch CFE in + addition to CNFE. + +2009-01-22 Andrew Haley + + * ports/hotspot/src/cpu/zero/vm/stack_zero.hpp (class + ZeroFrame::FrameType): Set ENTRY_FRAME = 0xCAFEBABE. + + * ports/hotspot/src/share/vm/shark/shark_globals.hpp (SHARK_FLAGS): + Add SharkPrintAsmOf. + + * ports/hotspot/src/share/vm/shark/sharkFunction.hpp: Add comment. + + * ports/hotspot/src/share/vm/shark/sharkFunction.cpp + (SharkFunction::initialize): Set builder()->sharkEntry. + Use fnmatch() instead of strcmp(). + Generate debugging dumps. + * ports/hotspot/src/share/vm/shark/sharkEntry.hpp + (SharkEntry::code_start, code_limit): Rewrite. + (SharkEntry::setBounds): New. + + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + (SharkBuilder::pointer_constant): New function. + * ports/hotspot/src/share/vm/shark/sharkBytecodeTracer.cpp + (SharkBytecodeTracer::decode_one_word): + use SharkBuilder::pointer_constant. + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::sharkEntry): New. + (SharkBuilder::CreateUnimplemented): use SharkBuilder::pointer_constant. + (SharkBuilder::CreateShouldNotReachHere): Likewise. + (MyJITMemoryManager::endFunctionBody): New method. + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp + (SharkBlock::check_zero): use SharkBuilder::pointer_constant. + (SharkBlock::check_bounds): Likewise. + (SharkBlock::add_safepoint): Likewise. + (SharkBlock::do_new): Likewise. + (SharkBlock::do_monitorexit): Don't check for null monitor. + + * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp: Add + llvm/ExecutionEngine/JITMemoryManager.h, + llvm/Support/CommandLine.h. + * ports/hotspot/src/share/vm/includeDB_shark (sharkBuilder.hpp): + add sharkEntry.hpp. + +2009-01-22 Lillian Angel + + * NEWS: Updated for release candidate. + +2009-01-22 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp: Updated copyright year. + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp: Likewise. + * ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp: Likewise. + * ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp: Likewise. + * ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp: Likewise. + +2009-01-22 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp + (print_zero_threads): New debug function. + +2009-01-22 Gary Benson + + * patches/icedtea-cc-interp-jvmti.patch: Reenable thread signalling. + +2009-01-21 Omair Majid + + * patches/icedtea-awt-window-size.patch: Update patch. + +2009-01-21 Omair Majid + + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java: + Remove unused variables volume and muted. + (PulseAudioClip): Remove variable volume. + (open): Remove muteControl, volume and muted. + (native_setVolume): Rename to native_set_volume. + (native_update_volume): New function. + (isMuted): Remove. + (setMuted): Remove. + (setVolume): Rename to setCachedVolume. + (getVolume): Rename to getCachedVolume. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMuteControl.java: + Remove file. Mute relied on chaning the volume only through the api. That + assumption is invalid as the user can change volume through pulseaudio's + controls. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java + (isMuted): Remove. + (setMuted): Remove. + (native_setVolume): Rename to native_set_volume. + (native_update_volume): New function. + (getVolume): Rename to getCachedVolume. + (setVolume): Rename to setCachedVolume. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java: + Remove muted and muteControl. Rename volume to cachedVolume. + (PulseAudioPort): Remove muteControl. + (isMuted): Remove function. + (setMuted): Remove. + (native_setVolume): Rename to native_set_volume. + (native_updateVolumeInfo): Rename to native_update_volume. + (setVolume): Rename to setCachedVolume. + (getVolume): Rename to getCachedVolume. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java: + Remove muteControl, muted and volume. + (open): Remove muteControl. + (native_setVolume): Rename to native_set_volume. + (native_update_volume): New function. + (isMuted): Remove. + (setMuted): Remove. + (getVolume): Rename to getCachedVolume. + (setVolume): Rename to setCachedVolume. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java + (native_setVolume): Rename to native_set_volume. + (native_updateVolumeInfo): Rename to native_update_volume. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java + (native_setVolume): Rename to native_set_volume. + (native_updateVolumeInfo): Rename to native_update_volume. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java + (setValue): Dont check for mute. + (getValue): Query pulseaudio for any change in volume. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java: + New variable cachedVolume. + (native_setVolume): Rename to native_set_volume. + (native_update_volume): New function. + (getCachedVolume): New function. + (setCachedVolume): New function. + (update_channels_and_volume): New function. + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c + (sink_input_volume_change_complete): Remove. + (sink_input_change_volume): Remove. + (Java_org_classpath_icedtea_pulseaudio_EventLoop_native_1set_1sink_1volume): + Remove. + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c + (Java_org_classpath_icedtea_pulseaudio_PulseAudioSourcePort_native_1updateVolumeInfo): + Rename to + Java_org_classpath_icedtea_pulseaudio_PulseAudioSourcePort_native_1update_1volume. + (Java_org_classpath_icedtea_pulseaudio_PulseAudioSourcePort_native_1setVolume): + Rename to + Java_org_classpath_icedtea_pulseaudio_PulseAudioSourcePort_native_1set_1volume. + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c + (Java_org_classpath_icedtea_pulseaudio_PulseAudioTargetPort_native_1updateVolumeInfo): + Rename to + Java_org_classpath_icedtea_pulseaudio_PulseAudioTargetPort_native_1update_1volume. + (Java_org_classpath_icedtea_pulseaudio_PulseAudioTargetPort_native_1setVolume): + Rename to + Java_org_classpath_icedtea_pulseaudio_PulseAudioTargetPort_native_1set_1volume. + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c + (Java_org_classpath_icedtea_pulseaudio_Stream_native_1setVolume): Rename + to Java_org_classpath_icedtea_pulseaudio_Stream_native_1set_1volume. + (get_sink_input_volume_callback): New function. + (Java_org_classpath_icedtea_pulseaudio_Stream_native_1update_1volume): New + function. + + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java + (testSupportedControls): Update to not check for MuteControl. + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java + (testVolumeAndMute): Rename to testVolume. Remove test for MuteControl. + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java + (testVolumeAndMute): Likewise. + (testSupportedControls): Update to not check for MuteControl. + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java + (testControls): Update to not check for MuteControl. + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java + (testControls): Likewise. + +2009-01-21 Lillian Angel + + * plugin/icedtea/sun/applet/AppletSecurityContextManager.java: Added + copyright header. + * plugin/icedtea/sun/applet/PluginAppletViewer.java: Likewise. + * plugin/icedtea/sun/applet/PluginCallRequestFactory.java: Likewise. + * plugin/icedtea/sun/applet/PluginClassLoader.java: Likewise. + * plugin/icedtea/sun/applet/PluginDebug.java: Likewise. + * plugin/icedtea/sun/applet/PluginException.java: Likewise. + * plugin/icedtea/sun/applet/PluginMain.java: Likewise. + * plugin/icedtea/sun/applet/PluginMessageConsumer.java: Likewise. + * plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java: Likewise. + * plugin/icedtea/sun/applet/PluginStreamHandler.java: Likewise. + * plugin/icedtea/sun/applet/RequestQueue.java: Likewise. + +2009-01-21 Lillian Angel + + * rt/net/sourceforge/jnlp/security/CertVerifier.java: Fixed file name + in GPL header. + * rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java: Likewise. + +2009-01-20 Lillian Angel + + * rt/net/sourceforge/jnlp/DefaultLaunchHandler.java: Removed debug + lines. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Likewise. + * rt/net/sourceforge/jnlp/security/AccessWarningPane.java: Updated + imports. + * rt/net/sourceforge/jnlp/security/AppletWarningPane.java: Updated + imports. + * rt/net/sourceforge/jnlp/security/CertWarningPane.java: Updated + imports, added certVerifier global variable. + (CertWarningPane): Initialized certVerifier. + (installComponents): Added checks to determine if certificate is for + an https site, and set the name/publisher/from variables + appropriately. Also, customized warning pane label for https site. + * rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java: + (getDetails): Implemented. + (addToDetails): Likewise. + (R): Likewise. + (getPublisher): Likewise. + (getRoot): Likewise. + (getRootInCacerts): Likewise. + (hasSigningIssues): Likewise. + (noSigningIssues): Likewise. + * rt/net/sourceforge/jnlp/security/MoreInfoPane.java: Fixed imports. + * rt/net/sourceforge/jnlp/security/SecurityDialogUI.java: Fixed + imports. + * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Fixed + imports. + * rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java: Fixed + imports. + * rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Fixed + imports. + * rt/net/sourceforge/jnlp/tools/KeyTool.java: Removed debug lines. + * rt/net/sourceforge/jnlp/security/CertVerifier.java: Moved file + below, here. + * rt/net/sourceforge/jnlp/tools/CertVerifier.java: Removed. + * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java: + Removed debug lines. + +2009-01-20 Lillian Angel + + * HACKING: Removed visualvm patch. + * INSTALL: Updated to remove visualvm notes. + * Makefile.am: Removed building of netbeans and visualvm. + * README: Updated to remove visualvm notes. + * acinclude.m4: Removed options for netbeans and visualvm. + * configure.ac: Likewise. + * patches/icedtea-visualvm.patch: Removed. + * visualvm.desktop: Removed. + +2009-01-20 Matthias Klose + Gary Benson + + * ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.[ch]pp (i486): Rename + to x86. + * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp (fp): Remove PRODUCT + conditional, make the not-PRODUCT bit the default. 2009-01-19 Andrew John Hughes diff -r 050b48f42fb3 -r 514ec9ce7cae HACKING --- a/HACKING Mon Jan 26 23:09:32 2009 +0000 +++ b/HACKING Mon Jan 26 23:12:40 2009 +0000 @@ -54,7 +54,6 @@ The following patches are currently appl * icedtea-tools.patch: Remove DebugHelperHelper and add sources in make/java/awt/Makefile to fix build of jvmti. * icedtea-use-system-tzdata.patch: Use timezone data from the system (PR70/S6593486). * icedtea-version.patch: Replace name and bug URL with IcedTea versions. -* icedtea-visualvm.patch: Patches sources to build with platform8 and profiler3 instead of platform7 and profiler2. * icedtea-webservices.patch: Add applet support. * icedtea-zero-build.patch: Add support for the zero assembler build. * icedtea-shark-build.patch: Add support for building the Shark JIT. diff -r 050b48f42fb3 -r 514ec9ce7cae INSTALL --- a/INSTALL Mon Jan 26 23:09:32 2009 +0000 +++ b/INSTALL Mon Jan 26 23:12:40 2009 +0000 @@ -30,10 +30,6 @@ libjpeg-devel = 6b libjpeg-devel = 6b zlib-devel rhino (can be disabled using --without-rhino) - -For building VisualVM, you will need: -netbeans (harness, platform8, apisupport1, java2, ide9) -jakarta-commons-logging For building the PulseAudio based mixer, you will need pulseaudio-libs-devel >= 0.9.11 diff -r 050b48f42fb3 -r 514ec9ce7cae Makefile.am --- a/Makefile.am Mon Jan 26 23:09:32 2009 +0000 +++ b/Makefile.am Mon Jan 26 23:12:40 2009 +0000 @@ -4,10 +4,6 @@ OPENJDK_VERSION = b14 CACAO_VERSION = 0.99.3 CACAO_MD5SUM = 80de3ad344c1a20c086ec5f1390bd1b8 - -NETBEANS_BASIC_CLUSTER = a7ea855f475fa3a982f094a45c155ab4 -NETBEANS_PROFILER_MD5SUM = ff8e8abc42df6c6749e6b02bcf7bb0a5 -VISUALVM_MD5SUM = 4b55bc623418818793392bb233da2927 if ENABLE_GCJWEBPLUGIN GCJWEBPLUGIN_CLEAN = clean-gcjwebplugin @@ -39,12 +35,6 @@ PULSE_JAVA_NATIVE_SRCDIR = PULSE_JAVA_NATIVE_SRCDIR = PULSE_JAVA_JAVA_SRCDIR = PULSE_JAVA_CLASS_DIR = -endif - -if WITH_VISUALVM -VISUALVM_PATCH = patches/icedtea-visualvm.patch -else -VISUALVM_PATCH = endif if WITH_ALT_HSBUILD @@ -78,8 +68,6 @@ endif endif endif rm -rf cacao - rm -rf visualvm - rm -rf netbeans rm -f jni-common.o install: @@ -93,13 +81,13 @@ install: clean-tools-jar clean-shared-objects \ clean-copy clean-hotspot-tools clean-rt $(GCJWEBPLUGIN_CLEAN) \ $(ICEDTEAPLUGIN_CLEAN) hotspot hotspot-helper clean-extra \ - clean-jtreg clean-jtreg-reports clean-visualvm clean-nbplatform + clean-jtreg clean-jtreg-reports EXTRA_DIST = rt generated \ patches/* \ gcjwebplugin.cc tools-copy contrib ports \ extra overlays \ - javaws.png javaws.desktop visualvm.desktop \ + javaws.png javaws.desktop \ jconsole.desktop policytool.desktop \ test/jtreg \ IcedTeaPlugin.cc \ @@ -316,30 +304,6 @@ else CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz endif -NETBEANS_BASIC_CLUSTER_URL = http://nbi.netbeans.org/files/documents/210/2056/ - -if USE_ALT_NETBEANS_BASIC_CLUSTER_SRC_ZIP - NETBEANS_BASIC_CLUSTER_SRC_ZIP = $(ALT_NETBEANS_BASIC_CLUSTER_SRC_ZIP) -else - NETBEANS_BASIC_CLUSTER_SRC_ZIP = netbeans-6.1-200805300101-basic_cluster-src.zip -endif - -NETBEANS_PROFILER_URL = http://icedtea.classpath.org/visualvm/ - -if USE_ALT_NETBEANS_PROFILER_SRC_ZIP - NETBEANS_PROFILER_SRC_ZIP = $(ALT_NETBEANS_PROFILER_SRC_ZIP) -else - NETBEANS_PROFILER_SRC_ZIP = netbeans-profiler-visualvm_preview2.tar.gz -endif - -VISUALVM_URL = http://icedtea.classpath.org/visualvm/ - -if USE_ALT_VISUALVM_SRC_ZIP - VISUALVM_SRC_ZIP = $(ALT_VISUALVM_SRC_ZIP) -else - VISUALVM_SRC_ZIP = visualvm-20081031-src.tar.gz -endif - stamps/hgforest.stamp: if OPENJDK_SRC_DIR_FOUND else @@ -417,46 +381,6 @@ endif endif endif endif -if WITH_VISUALVM -if USE_ALT_NETBEANS_BASIC_CLUSTER_SRC_ZIP -else - if ! echo "$(NETBEANS_BASIC_CLUSTER_MD5SUM) $(NETBEANS_BASIC_CLUSTER_SRC_ZIP)" \ - | $(MD5SUM) --check ; \ - then \ - if [ $(NETBEANS_BASIC_CLUSTER_SRC_ZIP) ] ; \ - then \ - mv $(NETBEANS_BASIC_CLUSTER_SRC_ZIP) $(NETBEANS_BASIC_CLUSTER_SRC_ZIP).old ; \ - fi ; \ - $(WGET) $(NETBEANS_BASIC_CLUSTER_URL)$(NETBEANS_BASIC_CLUSTER_SRC_ZIP) \ - -O $(NETBEANS_BASIC_CLUSTER_SRC_ZIP) ; \ - fi -endif -if USE_ALT_NETBEANS_PROFILER_SRC_ZIP -else - if ! echo "$(NETBEANS_PROFILER_MD5SUM) $(NETBEANS_PROFILER_SRC_ZIP)" \ - | $(MD5SUM) --check ; \ - then \ - if [ $(NETBEANS_PROFILER_SRC_ZIP) ] ; \ - then \ - mv $(NETBEANS_PROFILER_SRC_ZIP) $(NETBEANS_PROFILER_SRC_ZIP).old ; \ - fi ; \ - $(WGET) $(NETBEANS_PROFILER_URL)$(NETBEANS_PROFILER_SRC_ZIP) \ - -O $(NETBEANS_PROFILER_SRC_ZIP) ; \ - fi -endif -if USE_ALT_VISUALVM_SRC_ZIP -else - if ! echo "$(VISUALVM_MD5SUM) $(VISUALVM_SRC_ZIP)" \ - | $(MD5SUM) --check ; \ - then \ - if [ $(VISUALVM_SRC_ZIP) ] ; \ - then \ - mv $(VISUALVM_SRC_ZIP) $(VISUALVM_SRC_ZIP).old ; \ - fi ; \ - $(WGET) $(VISUALVM_URL)$(VISUALVM_SRC_ZIP) -O $(VISUALVM_SRC_ZIP) ; \ - fi -endif -endif mkdir -p stamps touch stamps/download.stamp @@ -468,11 +392,6 @@ clean-download: rm -f $(OPENJDK_SRC_ZIP) if WITH_CACAO rm -f $(CACAO_SRC_ZIP) -endif -if WITH_VISUALVM - rm -f $(VISUALVM_SRC_ZIP) - rm -f $(NETBEANS_PROFILER_SRC_ZIP) - rm -rf $(NETBEANS_BASIC_CLUSTER_SRC_ZIP) endif # Link ports sources into tree @@ -629,7 +548,6 @@ ICEDTEA_PATCHES += \ patches/icedtea-arch.patch \ patches/icedtea-lc_ctype.patch \ patches/icedtea-messageutils.patch \ - $(VISUALVM_PATCH) \ patches/icedtea-javac-debuginfo.patch \ patches/icedtea-xjc.patch \ patches/icedtea-renderer-crossing.patch \ @@ -735,27 +653,6 @@ if !USE_SYSTEM_CACAO ln -s $$dir cacao/cacao ; \ fi endif -endif -if WITH_VISUALVM - if ! test -d visualvm ; \ - then \ - $(TAR) xf $(VISUALVM_SRC_ZIP) ; \ - fi - if ! test -d netbeans ; \ - then \ - mkdir netbeans ; \ - $(TAR) xf $(NETBEANS_PROFILER_SRC_ZIP) -C netbeans ; \ - $(UNZIP) -q $(NETBEANS_BASIC_CLUSTER_SRC_ZIP) nbbuild/* -d netbeans/ ; \ - mv netbeans/profiler/ netbeans/profiler.cvs/ ; \ - $(UNZIP) -q $(NETBEANS_BASIC_CLUSTER_SRC_ZIP) \ - api.java/* api.progress/* apisupport.harness/* editor.mimelookup/* \ - o.jdesktop.layout/* openide.actions/* openide.awt/* \ - openide.dialogs/* openide.execution/* openide.explorer/* \ - openide.filesystems/* openide.io/* openide.loaders/* \ - openide.modules/* openide.nodes/* openide.text/* openide.util/* \ - openide.windows/* options.api/* projectapi/* queries/* java.platform/* \ - -d netbeans/ ; \ - fi endif if [ ! -e $(abs_top_builddir)/generated ]; then \ cp -a $(abs_top_srcdir)/generated $(abs_top_builddir); \ @@ -1126,7 +1023,7 @@ stamps/icedtea.stamp: stamps/bootstrap-d stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ From ahughes at redhat.com Tue Feb 3 04:14:00 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:14:00 +0000 Subject: changeset in /hg/icedtea6: Add a few additional fixes discovered... Message-ID: changeset 8e91de51da9e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8e91de51da9e description: Add a few additional fixes discovered when doing a full build. 2009-01-27 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: (positionSBC(long)): Renamed from position(long). (truncateSBC(long)): Likewise. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java: Same as for FileChannel, prevents conflict with versions in java.nio.channel.FileChannel. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java, * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java: Add missing imports. * patches/icedtea-nio2.patch: (FileChannelImpl.positionSBC(long)): Added, simply calls position(long). (FileChannelImpl.truncateSBC(long)): Likewise. diffstat: 6 files changed, 51 insertions(+), 8 deletions(-) ChangeLog | 14 +++++ overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java | 4 - overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java | 4 - overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java | 10 +++- overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java | 3 - patches/icedtea-nio2.patch | 24 +++++++++- diffs (140 lines): diff -r 514ec9ce7cae -r 8e91de51da9e ChangeLog --- a/ChangeLog Mon Jan 26 23:12:40 2009 +0000 +++ b/ChangeLog Tue Jan 27 11:54:08 2009 +0000 @@ -1,3 +1,17 @@ 2009-01-26 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: + (positionSBC(long)): Renamed from position(long). + (truncateSBC(long)): Likewise. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java: + Same as for FileChannel, prevents conflict with versions in java.nio.channel.FileChannel. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java: + Add missing imports. + * patches/icedtea-nio2.patch: + (FileChannelImpl.positionSBC(long)): Added, simply calls position(long). + (FileChannelImpl.truncateSBC(long)): Likewise. + 2009-01-26 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, diff -r 514ec9ce7cae -r 8e91de51da9e overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java Mon Jan 26 23:12:40 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java Tue Jan 27 11:54:08 2009 +0000 @@ -369,7 +369,7 @@ public abstract class FileChannel * @throws IOException * If some other I/O error occurs */ - public abstract FileChannel position(long newPosition) throws IOException; + public abstract FileChannel positionSBC(long newPosition) throws IOException; /** * Truncates this channel's file to the given size. @@ -398,7 +398,7 @@ public abstract class FileChannel * @throws IOException * If some other I/O error occurs */ - public abstract FileChannel truncate(long size) throws IOException; + public abstract FileChannel truncateSBC(long size) throws IOException; } diff -r 514ec9ce7cae -r 8e91de51da9e overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java Mon Jan 26 23:12:40 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java Tue Jan 27 11:54:08 2009 +0000 @@ -124,7 +124,7 @@ public interface SeekableByteChannel * @throws IOException * If some other I/O error occurs */ - SeekableByteChannel position(long newPosition) throws IOException; + SeekableByteChannel positionSBC(long newPosition) throws IOException; /** * Returns the current size of entity to which this channel is connected. @@ -166,5 +166,5 @@ public interface SeekableByteChannel * @throws IOException * If some other I/O error occurs */ - SeekableByteChannel truncate(long size) throws IOException; + SeekableByteChannel truncateSBC(long size) throws IOException; } diff -r 514ec9ce7cae -r 8e91de51da9e overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java Mon Jan 26 23:12:40 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java Tue Jan 27 11:54:08 2009 +0000 @@ -25,10 +25,16 @@ package sun.nio.ch; -import java.nio.channels.*; import java.util.concurrent.ExecutorService; -import java.net.ProtocolFamily; import java.io.IOException; + +import org.classpath.icedtea.java.net.ProtocolFamily; + +import org.classpath.icedtea.java.nio.channels.AsynchronousChannelGroup; +import org.classpath.icedtea.java.nio.channels.AsynchronousDatagramChannel; +import org.classpath.icedtea.java.nio.channels.AsynchronousSocketChannel; +import org.classpath.icedtea.java.nio.channels.AsynchronousServerSocketChannel; +import org.classpath.icedtea.java.nio.channels.IllegalChannelGroupException; import org.classpath.icedtea.java.nio.channels.spi.AsynchronousChannelProvider; diff -r 514ec9ce7cae -r 8e91de51da9e overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java --- a/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java Mon Jan 26 23:12:40 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java Tue Jan 27 11:54:08 2009 +0000 @@ -25,10 +25,11 @@ package sun.nio.ch; -import java.nio.channels.spi.AsynchronousChannelProvider; import java.util.concurrent.RejectedExecutionException; import java.io.IOException; import sun.misc.Unsafe; + +import org.classpath.icedtea.java.nio.channels.spi.AsynchronousChannelProvider; /** * AsynchronousChannelGroup implementation based on the Solaris 10 event port diff -r 514ec9ce7cae -r 8e91de51da9e patches/icedtea-nio2.patch --- a/patches/icedtea-nio2.patch Mon Jan 26 23:12:40 2009 +0000 +++ b/patches/icedtea-nio2.patch Tue Jan 27 11:54:08 2009 +0000 @@ -1372,7 +1372,7 @@ diff -Nru openjdk.orig/jdk/src/share/cla } diff -Nru openjdk.orig/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java openjdk/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java --- openjdk.orig/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java 2009-01-20 13:37:15.000000000 +0000 -+++ openjdk/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java 2009-01-20 13:45:52.000000000 +0000 ++++ openjdk/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java 2009-01-27 02:33:08.000000000 +0000 @@ -32,8 +32,15 @@ import java.io.IOException; import java.nio.ByteBuffer; @@ -1399,6 +1399,28 @@ diff -Nru openjdk.orig/jdk/src/share/cla public class FileChannelImpl extends FileChannel +@@ -316,6 +324,10 @@ + } + } + ++ public FileChannel positionSBC(long newPosition) throws IOException { ++ return position(newPosition); ++ } ++ + public long size() throws IOException { + ensureOpen(); + synchronized (positionLock) { +@@ -386,6 +398,10 @@ + } + } + ++ public FileChannel truncateSBC(long size) throws IOException { ++ return truncate(size); ++ } ++ + public void force(boolean metaData) throws IOException { + ensureOpen(); + int rv = -1; diff -Nru openjdk.orig/jdk/src/share/classes/sun/nio/ch/Net.java openjdk/jdk/src/share/classes/sun/nio/ch/Net.java --- openjdk.orig/jdk/src/share/classes/sun/nio/ch/Net.java 2009-01-15 17:37:33.000000000 +0000 +++ openjdk/jdk/src/share/classes/sun/nio/ch/Net.java 2009-01-19 23:21:37.000000000 +0000 From ahughes at redhat.com Tue Feb 3 04:14:01 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:14:01 +0000 Subject: changeset in /hg/icedtea6: Merge. Message-ID: changeset 12c4111a284c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=12c4111a284c description: Merge. diffstat: 5 files changed, 78 insertions(+), 7 deletions(-) ChangeLog | 21 ++++++++++++++- HACKING | 1 Makefile.am | 3 +- NEWS | 49 +++++++++++++++++++++++++++++++---- patches/icedtea-java2d-dasher.patch | 11 +++++++ diffs (133 lines): diff -r 3cd694b8289b -r 12c4111a284c ChangeLog --- a/ChangeLog Tue Feb 03 12:02:53 2009 +0000 +++ b/ChangeLog Tue Feb 03 12:08:26 2009 +0000 @@ -1,4 +1,4 @@ 2009-01-27 Andrew John Hughes +2009-01-30 Andrew John Hughes * patches/icedtea-nio2.patch: (mapfile-linux): Add new functions in sun.nio.ch.Net. @@ -6,7 +6,26 @@ 2009-01-27 Andrew John Hughes + + * patches/icedtea-java2d-dasher.patch: New patch. Fix interpretation of + dash array elements in BasicStroke. + * Makefile.am (ICEDTEA_PATCHES): Apply the above. + * HACKING: Document the above. +2009-01-28 Lillian Angel + + * NEWS: Updated date. + +2009-01-28 Andrew Haley + + * NEWS: Updated. + +2009-01-28 Mark Wielaard + + * NEWS: Updated for 1.4. + 2009-01-27 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: diff -r 3cd694b8289b -r 12c4111a284c HACKING --- a/HACKING Tue Feb 03 12:02:53 2009 +0000 +++ b/HACKING Tue Feb 03 12:08:26 2009 +0000 @@ -82,6 +82,7 @@ The following patches are currently appl * icedtea-no-precompiled.patch: Don't use precompiled header files in hotspot. * icedtea-includedb.patch: Add missing include files. * icedtea-awt-window-size.patch: Fix X11 window size calculation (S6721088). +* icedtea-java2d-dasher.patch: Fix interpretation of dash array elements in BasicStroke (S6793344). The following patches are only applied to OpenJDK6 in IcedTea6: diff -r 3cd694b8289b -r 12c4111a284c Makefile.am --- a/Makefile.am Tue Feb 03 12:02:53 2009 +0000 +++ b/Makefile.am Tue Feb 03 12:08:26 2009 +0000 @@ -614,7 +614,8 @@ ICEDTEA_PATCHES += \ ICEDTEA_PATCHES += \ $(DISTRIBUTION_PATCHES) \ patches/icedtea-demo-swingapplet.patch \ - patches/icedtea-awt-window-size.patch + patches/icedtea-awt-window-size.patch \ + patches/icedtea-java2d-dasher.patch stamps/extract.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND diff -r 3cd694b8289b -r 12c4111a284c NEWS --- a/NEWS Tue Feb 03 12:02:53 2009 +0000 +++ b/NEWS Tue Feb 03 12:08:26 2009 +0000 @@ -1,10 +1,49 @@ New in release 1.4 (NOT_YET_RELEASED) -New in release 1.4 (NOT_YET_RELEASED) +New in release 1.4 (2009-01-29) -- Updated to b14 build. -- Upgraded to new Hotspot 14 from 12. +- Security fixes for: + CVE-2008-5360 - Temporary files have guessable file names. + CVE-2008-5350 - Allows to list files within the user home directory. + CVE-2008-5348 - Denial-Of-Service in kerberos authentication. + CVE-2008-5359 - Buffer overflow in image processing. + CVE-2008-5351 - UTF-8 decoder accepts non-shortest form sequences. + CVE-2008-5356 - Font processing vulnerability. + CVE-2008-5353 - Calendar object deserialization allows privilege escalation. + CVE-2008-5354 - Privilege escalation in command line applications. + CVE-2008-5357 - Truetype Font processing vulnerability. + CVE-2008-5352 - Jar200 Decompression buffer overflow. + CVE-2008-5358 - Buffer Overflow in GIF image processing. +- Updated to OpenJDK b14 build. +- Upgraded to new OpenJDK7 Hotspot 14. The old OpenJDK6 Hotspot 11 can + still be configured --with-hotspot-build=original but future versions + will drop support for the old version and only support HS14. Zero + and Shark have been forward ported to HS14 (from HS12). - XRender pipeline support: Java2D are noticably faster and running over a - remote X connection now feels like it is all local. -- Plugin now supports HTTPS sites. + remote X connection feels like it is all local. Build by default + (disable with --disable-xrender). Runtime enabled by running java + -Dsun.java2d.xrender=True (default is to use the old X renderer for now). +- IcedTeaPlugin now supports HTTPS sites and adds a user prompt for + untrusted https certificates. +- Use the ALSA 'default' device. Makes Java play nicer with PulseAudio. +- VisualVM integration has been removed. +- Gervill soft synthesizer integration updated to latest CVS version. +- Integrated jtreg upgraded to 4_0-src-b02-15_oct_2008. +- make check runs much faster now. jtreg -samevm support has been + integrated into the langtools and jdk subsystems. Please package the + test/jtreg-summary.log file with your distribution package so end users + can compare the test results. +- Shark (--enable-shark) now builds on 64 bit platforms, but is a + pre-alpha technology preview and not recommended for use. +- Better support for bootstrapping with different jar programs + (supporting -J options). +- If --with-pkgversion isn't given the short mercurial rev node version + will be used. Package distributors are encouraged to build packages with + --with-pkgversion to uniquely identify their distribution version number + when java -version is run to help distribution specific bug reporting. +- Various freetype font, pisces renderer and awt X window size fixes + to fix visual anomalies. +- Build fixes for gcc 4.3 and 4.4-pre-release. +- Added support for building against a specific openjdk src dir + or hg revision (--with-openjdk-src-dir or --with-hg-revision). - Many other Plugin, Zero, Shark and PulseAudio bug fixes. - Build clean up. diff -r 3cd694b8289b -r 12c4111a284c patches/icedtea-java2d-dasher.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-java2d-dasher.patch Tue Feb 03 12:08:26 2009 +0000 @@ -0,0 +1,11 @@ +--- openjdk/jdk/src/share/classes/sun/java2d/pisces/Dasher.java.orig 2009-01-13 12:14:53.000000000 -0500 ++++ openjdk/jdk/src/share/classes/sun/java2d/pisces/Dasher.java 2009-01-13 12:15:09.000000000 -0500 +@@ -120,7 +120,7 @@ + + // Normalize so 0 <= phase < dash[0] + int idx = 0; +- dashOn = false; ++ dashOn = true; + int d; + while (phase >= (d = dash[idx])) { + phase -= d; From ahughes at redhat.com Tue Feb 3 04:14:00 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:14:00 +0000 Subject: changeset in /hg/icedtea6: Final fix to get NIO2 to build. Message-ID: changeset 945a4627e256 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=945a4627e256 description: Final fix to get NIO2 to build. 2009-01-27 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: Use org.classpath.icedtea.java.nio.channels.FileChannel. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java: Likewise. * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/META-INF/services/java.nio.file.spi.FileSystemProvider, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/README.txt, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarEntryInfo.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributes.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipEntryInfo.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributes.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributes.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFilePath.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStore.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStream.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipHeaderConstants.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipPathParser.java, * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipUtils.java: Import NIO2 demo and fix imports. * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java: Use org.classpath.icedtea.java.nio.channels.FileChannel. diffstat: 22 files changed, 3725 insertions(+), 6 deletions(-) ChangeLog | 28 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java | 8 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java | 2 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/META-INF/services/java.nio.file.spi.FileSystemProvider | 1 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/README.txt | 29 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarEntryInfo.java | 44 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributeView.java | 76 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributes.java | 57 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipEntryInfo.java | 76 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributeView.java | 154 + overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributes.java | 93 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributeView.java | 187 + overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributes.java | 125 + overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFilePath.java | 1027 ++++++++++ overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStore.java | 230 ++ overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStream.java | 166 + overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java | 319 +++ overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystemProvider.java | 243 ++ overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipHeaderConstants.java | 75 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipPathParser.java | 308 ++ overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipUtils.java | 481 ++++ overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java | 2 diffs (truncated from 3860 to 500 lines): diff -r d57abf1d1d65 -r 945a4627e256 ChangeLog --- a/ChangeLog Tue Jan 27 11:54:55 2009 +0000 +++ b/ChangeLog Wed Jan 28 00:27:48 2009 +0000 @@ -1,3 +1,31 @@ 2009-01-27 Andrew John Hughes + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: + Use org.classpath.icedtea.java.nio.channels.FileChannel. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java: + Likewise. + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/META-INF/services/java.nio.file.spi.FileSystemProvider, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/README.txt, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarEntryInfo.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipEntryInfo.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFilePath.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStore.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStream.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipHeaderConstants.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipPathParser.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipUtils.java: + Import NIO2 demo and fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java: + Use org.classpath.icedtea.java.nio.channels.FileChannel. + 2009-01-27 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java Tue Jan 27 11:54:55 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java Wed Jan 28 00:27:48 2009 +0000 @@ -288,9 +288,9 @@ public abstract class FileChannel * * @since 1.7 */ - public static java.nio.channels.FileChannel open(Path file, - Set options, - FileAttribute... attrs) + public static FileChannel open(Path file, + Set options, + FileAttribute... attrs) throws IOException { FileSystemProvider provider = file.getFileSystem().provider(); @@ -335,7 +335,7 @@ public abstract class FileChannel * * @since 1.7 */ - public static java.nio.channels.FileChannel open(Path file, OpenOption... options) + public static FileChannel open(Path file, OpenOption... options) throws IOException { Set set = new HashSet(options.length); diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java Tue Jan 27 11:54:55 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java Wed Jan 28 00:27:48 2009 +0000 @@ -26,7 +26,6 @@ package org.classpath.icedtea.java.nio.file.spi; -import java.nio.channels.*; import java.net.URI; import java.util.*; import java.util.concurrent.ExecutorService; @@ -35,6 +34,7 @@ import java.io.IOException; import java.io.IOException; import org.classpath.icedtea.java.nio.channels.AsynchronousFileChannel; +import org.classpath.icedtea.java.nio.channels.FileChannel; import org.classpath.icedtea.java.nio.file.FileRef; import org.classpath.icedtea.java.nio.file.FileSystem; import org.classpath.icedtea.java.nio.file.FileSystems; diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/META-INF/services/java.nio.file.spi.FileSystemProvider --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/META-INF/services/java.nio.file.spi.FileSystemProvider Wed Jan 28 00:27:48 2009 +0000 @@ -0,0 +1,1 @@ +com.sun.nio.zipfs.ZipFileSystemProvider \ No newline at end of file diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/README.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/README.txt Wed Jan 28 00:27:48 2009 +0000 @@ -0,0 +1,29 @@ +ZipFileSystem is a file system provider that treats the contents of a zip or +JAR file as a read-only file system. + +To deploy the provider you must copy ZipFileSystem.jar into your extensions +directory or else add /demo/nio/ZipFileSystem/ZipFileSystem.jar +to your class path. + +The factory methods defined by the java.nio.file.FileSystems class can be +used to create a FileSystem, eg: + + // use file type detection + Map env = Collections.emptyMap(); + Path jarfile = Path.get("foo.jar"); + FileSystem fs = FileSystems.newFileSystem(jarfile, env); + +-or + + // locate file system by URI + Map env = Collections.emptyMap(); + URI uri = URI.create("zip:///mydir/foo.jar"); + FileSystem fs = FileSystems.newFileSystem(uri, env); + +Once a FileSystem is created then classes in the java.nio.file package +can be used to access files in the zip/JAR file, eg: + + Path mf = fs.getPath("/META-INF/MANIFEST.MF"); + InputStream in = mf.newInputStream(); + + diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarEntryInfo.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarEntryInfo.java Wed Jan 28 00:27:48 2009 +0000 @@ -0,0 +1,44 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of Sun Microsystems nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.sun.nio.zipfs; + +import java.util.Map; +import java.util.Set; + +public class JarEntryInfo extends ZipEntryInfo { + JarEntryInfo(ZipEntryInfo entry){ + super(entry); + } + + Set> entryAttributs; + Set> manifestMainAttrs; +} diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributeView.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributeView.java Wed Jan 28 00:27:48 2009 +0000 @@ -0,0 +1,76 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of Sun Microsystems nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.sun.nio.zipfs; + +import java.io.IOException; +import java.util.*; + +import org.classpath.icedtea.java.nio.file.FileRef; + +public class JarFileAttributeView extends ZipFileAttributeView { + + /** Creates a new instance of ZipFileAttributeView */ + public JarFileAttributeView(FileRef file) { + super(file); + } + + + public String name() { + return "jar"; + } + + public Object getAttribute(String attribute) throws IOException { + JarFileAttributes jfa = readAttributes(); + if (attribute.equals("manifestAttributes")) { + return jfa.getManifestAttributes(); + } + if (attribute.equals("entryAttributes")) { + return jfa.getEntryAttributes(); + } + return super.readAttributes(attribute); + } + + + public JarFileAttributes readAttributes() + throws IOException { + return new JarFileAttributes(super.getBinding()); + } + + + public Map readAttributes(String first, String... rest) throws IOException { + Map result = new HashMap(); + result.putAll(super.readAttributes(first, rest)); + + // FIXME - add manifest and entry attributes if requested + + return Collections.unmodifiableMap(result); + } +} diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributes.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributes.java Wed Jan 28 00:27:48 2009 +0000 @@ -0,0 +1,57 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of Sun Microsystems nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.sun.nio.zipfs; + +import java.util.concurrent.*; +import java.io.*; +import java.util.Map; +import java.util.Set; + +import org.classpath.icedtea.java.nio.file.FileRef; + +public class JarFileAttributes extends ZipFileAttributes { + + /** Creates a new instance of ZipFileAttributes */ + public JarFileAttributes(FileRef file) + throws IOException { + super(file); + + } + + public Set> getManifestAttributes() { + return ((JarEntryInfo) ze).manifestMainAttrs; + } + + public Set> getEntryAttributes() { + return ((JarEntryInfo) ze).entryAttributs; + } +} diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipEntryInfo.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipEntryInfo.java Wed Jan 28 00:27:48 2009 +0000 @@ -0,0 +1,76 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of Sun Microsystems nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.sun.nio.zipfs; + +public class ZipEntryInfo { + + byte[] filename; + int compSize; + int size; + byte[] comment; + long crc; + byte[] extraField; + int method; + int extAttrs; + long createTime = -1; + boolean isDirectory; + boolean isOtherFile; + boolean isRegularFile; + boolean isArchiveFile; + long lastAccessTime = -1; + long lastModifiedTime; + long streamOffset; + int versionMadeBy; + ZipEntryInfo(ZipEntryInfo entry){ + this.filename = entry.filename; + this.compSize = entry.compSize; + this.size = entry.size; + this.comment = entry.comment; + this.crc = entry.crc; + this.extraField = entry.extraField; + this.method = entry.method; + this.extAttrs = entry.extAttrs; + this.createTime = entry.createTime; + this.isDirectory = entry.isDirectory; + this.isOtherFile = entry.isOtherFile; + this.isRegularFile = entry.isRegularFile; + this.isArchiveFile = entry.isArchiveFile; + this.lastAccessTime = entry.lastAccessTime; + this.lastModifiedTime = entry.lastModifiedTime; + this.streamOffset = entry.streamOffset; + this.versionMadeBy = entry.versionMadeBy; + + } + ZipEntryInfo(){ + super(); + } +} diff -r d57abf1d1d65 -r 945a4627e256 overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributeView.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributeView.java Wed Jan 28 00:27:48 2009 +0000 @@ -0,0 +1,154 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of Sun Microsystems nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package com.sun.nio.zipfs; + +import java.io.IOException; +import java.util.*; + +import org.classpath.icedtea.java.nio.file.FileRef; + +public class ZipFileAttributeView extends ZipFileBasicAttributeView { + + /** Creates a new instance of ZipFileAttributeView */ + public ZipFileAttributeView(FileRef file) { + super(file); + } + + + public String name() { + return "zip"; + } + + public Object getAttribute(String attribute) throws IOException { + ZipFileAttributes zfa = readAttributes(); + if (attribute.equals("comment")) { + return zfa.comment(); + } + if (attribute.equals("compressedSize")) { + return zfa.compressedSize(); + } + if (attribute.equals("crc")) { + return zfa.crc(); + } + if (attribute.equals("extraField")) { + return zfa.extra(); + } + if (attribute.equals("method")) { + return zfa.method(); + } + if (attribute.equals("fileName")) { + return zfa.name(); + } + if (attribute.equals("isArchiveFile")) { + return zfa.isArchiveFile(); + } + if (attribute.equals("versionMadeBy")) { + return zfa.versionMadeBy(); + } + if (attribute.equals("externalAttrs")) { + return zfa.getExternalAttrs(); + } + return super.getAttribute(attribute); + } + + + public Map readAttributes(String first, String... rest) throws IOException { + int rem = rest.length; + String[] attrs = new String[1 + rem]; + attrs[0] = first; + if (rem > 0) + System.arraycopy(rest, 0, attrs, 1, rem); + Map result = new HashMap(); + result.putAll(super.readAttributes(first, rest)); + ZipFileAttributes zfa = readAttributes(); + boolean added = false; + for (String attr : attrs) { + added = addAttribute(result, attr, "comment",zfa.comment()); + if (added) { + continue; + } + added = addAttribute(result, attr, "compressedSize",zfa.compressedSize()); + if (added) { + continue; + } + added = addAttribute(result, attr, "crc",zfa.crc()); + if (added) { + continue; + } + added = addAttribute(result, attr, "extraField",zfa.extra()); + if (added) { + continue; + } From ahughes at redhat.com Tue Feb 3 04:14:01 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:14:01 +0000 Subject: changeset in /hg/icedtea6: Fix JCK issues with NIO2. Message-ID: changeset 3cd694b8289b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3cd694b8289b description: Fix JCK issues with NIO2. 2009-01-27 Andrew John Hughes * patches/icedtea-nio2.patch: (mapfile-linux): Add new functions in sun.nio.ch.Net. (Net.java:setIntOption0(FileDescriptor,boolean,int,int,int)): Renamed to... (Net.java:setIntOption1(FileDescriptor,boolean,int,int,int)): to avoid C collision. (Net.c): Add back java_net_SocketOptions.h, bind0 and connect0 and setIntOption0 and rename existing setIntOption0 to setIntOption1. diffstat: 2 files changed, 122 insertions(+), 33 deletions(-) ChangeLog | 9 ++ patches/icedtea-nio2.patch | 146 ++++++++++++++++++++++++++++++++++---------- diffs (310 lines): diff -r 945a4627e256 -r 3cd694b8289b ChangeLog --- a/ChangeLog Wed Jan 28 00:27:48 2009 +0000 +++ b/ChangeLog Tue Feb 03 12:02:53 2009 +0000 @@ -1,3 +1,12 @@ 2009-01-27 Andrew John Hughes + + * patches/icedtea-nio2.patch: + (mapfile-linux): Add new functions in sun.nio.ch.Net. + (Net.java:setIntOption0(FileDescriptor,boolean,int,int,int)): Renamed to... + (Net.java:setIntOption1(FileDescriptor,boolean,int,int,int)): to avoid C collision. + (Net.c): Add back java_net_SocketOptions.h, bind0 and connect0 and setIntOption0 + and rename existing setIntOption0 to setIntOption1. + 2009-01-27 Andrew John Hughes * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: diff -r 945a4627e256 -r 3cd694b8289b patches/icedtea-nio2.patch --- a/patches/icedtea-nio2.patch Wed Jan 28 00:27:48 2009 +0000 +++ b/patches/icedtea-nio2.patch Tue Feb 03 12:02:53 2009 +0000 @@ -601,7 +601,7 @@ diff -Nru openjdk.orig/jdk/make/java/nio .PHONY: sources diff -Nru openjdk.orig/jdk/make/java/nio/mapfile-linux openjdk/jdk/make/java/nio/mapfile-linux --- openjdk.orig/jdk/make/java/nio/mapfile-linux 2009-01-07 22:08:47.000000000 +0000 -+++ openjdk/jdk/make/java/nio/mapfile-linux 2009-01-07 22:15:04.000000000 +0000 ++++ openjdk/jdk/make/java/nio/mapfile-linux 2009-01-29 01:13:17.000000000 +0000 @@ -20,6 +20,14 @@ Java_sun_nio_ch_EPollArrayWrapper_interrupt; Java_sun_nio_ch_EPollArrayWrapper_offsetofData; @@ -617,7 +617,32 @@ diff -Nru openjdk.orig/jdk/make/java/nio Java_sun_nio_ch_FileChannelImpl_close0; Java_sun_nio_ch_FileChannelImpl_force0; Java_sun_nio_ch_FileChannelImpl_initIDs; -@@ -75,6 +83,74 @@ +@@ -63,11 +71,24 @@ + Java_sun_nio_ch_Net_socket0; + Java_sun_nio_ch_Net_bind; + Java_sun_nio_ch_Net_connect; ++ Java_sun_nio_ch_Net_bind0; ++ Java_sun_nio_ch_Net_connect0; ++ Java_sun_nio_ch_Net_listen; + Java_sun_nio_ch_Net_localPort; + Java_sun_nio_ch_Net_localInetAddress; + Java_sun_nio_ch_Net_getIntOption0; + Java_sun_nio_ch_Net_setIntOption0; + Java_sun_nio_ch_Net_initIDs; ++ Java_sun_nio_ch_Net_isIPv6Available0; ++ Java_sun_nio_ch_Net_joinOrDrop4; ++ Java_sun_nio_ch_Net_blockOrUnblock4; ++ Java_sun_nio_ch_Net_joinOrDrop6; ++ Java_sun_nio_ch_Net_blockOrUnblock6; ++ Java_sun_nio_ch_Net_setInterface4; ++ Java_sun_nio_ch_Net_getInterface4; ++ Java_sun_nio_ch_Net_setInterface6; ++ Java_sun_nio_ch_Net_getInterface6; ++ Java_sun_nio_ch_Net_shutdown; + Java_sun_nio_ch_PollArrayWrapper_interrupt; + Java_sun_nio_ch_PollArrayWrapper_poll0; + Java_sun_nio_ch_ServerSocketChannelImpl_accept0; +@@ -75,6 +96,74 @@ Java_sun_nio_ch_ServerSocketChannelImpl_listen; Java_sun_nio_ch_SocketChannelImpl_checkConnect; Java_sun_nio_ch_SocketChannelImpl_shutdown; @@ -1423,7 +1448,7 @@ diff -Nru openjdk.orig/jdk/src/share/cla int rv = -1; diff -Nru openjdk.orig/jdk/src/share/classes/sun/nio/ch/Net.java openjdk/jdk/src/share/classes/sun/nio/ch/Net.java --- openjdk.orig/jdk/src/share/classes/sun/nio/ch/Net.java 2009-01-15 17:37:33.000000000 +0000 -+++ openjdk/jdk/src/share/classes/sun/nio/ch/Net.java 2009-01-19 23:21:37.000000000 +0000 ++++ openjdk/jdk/src/share/classes/sun/nio/ch/Net.java 2009-02-01 00:35:31.000000000 +0000 @@ -30,6 +30,15 @@ import java.net.*; import java.nio.channels.*; @@ -1537,7 +1562,7 @@ diff -Nru openjdk.orig/jdk/src/share/cla + } + + boolean mayNeedConversion = (family == UNSPEC); -+ setIntOption0(fd, mayNeedConversion, key.level(), key.name(), arg); ++ setIntOption1(fd, mayNeedConversion, key.level(), key.name(), arg); + } + + static Object getSocketOption(FileDescriptor fd, ProtocolFamily family, @@ -1569,7 +1594,7 @@ diff -Nru openjdk.orig/jdk/src/share/cla + int level, int opt) + throws IOException; + -+ private static native void setIntOption0(FileDescriptor fd, boolean mayNeedConversion, ++ private static native void setIntOption1(FileDescriptor fd, boolean mayNeedConversion, + int level, int opt, int arg) + throws IOException; + @@ -1920,7 +1945,7 @@ diff -Nru openjdk.orig/jdk/src/solaris/c diff -Nru openjdk.orig/jdk/src/solaris/native/sun/nio/ch/Net.c openjdk/jdk/src/solaris/native/sun/nio/ch/Net.c --- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/Net.c 2009-01-26 20:51:08.000000000 +0000 -+++ openjdk/jdk/src/solaris/native/sun/nio/ch/Net.c 2009-01-26 20:55:17.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/sun/nio/ch/Net.c 2009-02-01 01:24:41.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved. @@ -1928,11 +1953,8 @@ diff -Nru openjdk.orig/jdk/src/solaris/n * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it -@@ -37,61 +37,171 @@ - #include "net_util.h" - #include "net_util_md.h" - #include "nio_util.h" --#include "java_net_SocketOptions.h" +@@ -40,58 +40,169 @@ + #include "java_net_SocketOptions.h" #include "nio.h" -#ifdef __linux__ @@ -1943,12 +1965,12 @@ diff -Nru openjdk.orig/jdk/src/solaris/n + */ + +#ifdef __solaris__ ++ ++#ifndef IP_BLOCK_SOURCE -#define IPV6_MULTICAST_IF 17 -#ifndef SO_BSDCOMPAT -#define SO_BSDCOMPAT 14 -+#ifndef IP_BLOCK_SOURCE -+ +#define IP_BLOCK_SOURCE 0x15 +#define IP_UNBLOCK_SOURCE 0x16 +#define IP_ADD_SOURCE_MEMBERSHIP 0x17 @@ -2108,19 +2130,19 @@ diff -Nru openjdk.orig/jdk/src/solaris/n JNIEXPORT void JNICALL -Java_sun_nio_ch_Net_bind(JNIEnv *env, jclass clazz, /* ## Needs rest of PSI gunk */ - jobject fdo, jobject ia, int port) -+Java_sun_nio_ch_Net_bind0(JNIEnv *env, jclass clazz, jboolean preferIPv6, -+ jobject fdo, jobject iao, int port) ++Java_sun_nio_ch_Net_bind(JNIEnv *env, jclass clazz, ++ jobject fdo, jobject iao, int port) { SOCKADDR sa; int sa_len = SOCKADDR_LEN; int rv = 0; - if (NET_InetAddressToSockaddr(env, ia, port, (struct sockaddr *)&sa, &sa_len, JNI_TRUE) != 0) { -+ if (NET_InetAddressToSockaddr(env, iao, port, (struct sockaddr *)&sa, &sa_len, preferIPv6) != 0) { ++ if (NET_InetAddressToSockaddr(env, iao, port, (struct sockaddr *)&sa, &sa_len, JNI_TRUE) != 0) { return; } -@@ -101,27 +211,27 @@ +@@ -101,26 +212,53 @@ } } @@ -2135,8 +2157,9 @@ diff -Nru openjdk.orig/jdk/src/solaris/n -Java_sun_nio_ch_Net_connect(JNIEnv *env, jclass clazz, - jobject fdo, jobject iao, jint port, - jint trafficClass) -+Java_sun_nio_ch_Net_connect0(JNIEnv *env, jclass clazz, jboolean preferIPv6, -+ jobject fdo, jobject iao, jint port) ++Java_sun_nio_ch_Net_connect(JNIEnv *env, jclass clazz, ++ jobject fdo, jobject iao, jint port, ++ jint trafficClass) { SOCKADDR sa; int sa_len = SOCKADDR_LEN; @@ -2144,7 +2167,7 @@ diff -Nru openjdk.orig/jdk/src/solaris/n - if (NET_InetAddressToSockaddr(env, iao, port, (struct sockaddr *) &sa, &sa_len, JNI_TRUE) != 0) { + if (NET_InetAddressToSockaddr(env, iao, port, (struct sockaddr *) &sa, -+ &sa_len, preferIPv6) != 0) ++ &sa_len, JNI_TRUE) != 0) + { return IOS_THROWN; } @@ -2153,14 +2176,37 @@ diff -Nru openjdk.orig/jdk/src/solaris/n -#if 0 - if (trafficClass != 0 && ipv6_available()) { /* ## FIX */ - NET_SetTrafficClass((struct sockaddr *)&sa, trafficClass); -- } ++ rv = connect(fdval(env, fdo), (struct sockaddr *)&sa, sa_len); ++ if (rv != 0) { ++ if (errno == EINPROGRESS) { ++ return IOS_UNAVAILABLE; ++ } else if (errno == EINTR) { ++ return IOS_INTERRUPTED; ++ } ++ return handleSocketError(env, errno); ++ } ++ return 1; ++} ++ ++JNIEXPORT jint JNICALL ++Java_sun_nio_ch_Net_connect0(JNIEnv *env, jclass clazz, jboolean preferIPv6, ++ jobject fdo, jobject iao, jint port) ++{ ++ SOCKADDR sa; ++ int sa_len = SOCKADDR_LEN; ++ int rv; ++ ++ if (NET_InetAddressToSockaddr(env, iao, port, (struct sockaddr *) &sa, ++ &sa_len, preferIPv6) != 0) ++ { ++ return IOS_THROWN; + } -#endif -#endif -- + rv = connect(fdval(env, fdo), (struct sockaddr *)&sa, sa_len); if (rv != 0) { - if (errno == EINPROGRESS) { -@@ -138,7 +248,7 @@ +@@ -138,7 +276,7 @@ Java_sun_nio_ch_Net_localPort(JNIEnv *env, jclass clazz, jobject fdo) { SOCKADDR sa; @@ -2169,7 +2215,7 @@ diff -Nru openjdk.orig/jdk/src/solaris/n if (getsockname(fdval(env, fdo), (struct sockaddr *)&sa, &sa_len) < 0) { handleSocketError(env, errno); return -1; -@@ -150,7 +260,7 @@ +@@ -150,7 +288,7 @@ Java_sun_nio_ch_Net_localInetAddress(JNIEnv *env, jclass clazz, jobject fdo) { SOCKADDR sa; @@ -2178,7 +2224,7 @@ diff -Nru openjdk.orig/jdk/src/solaris/n int port; if (getsockname(fdval(env, fdo), (struct sockaddr *)&sa, &sa_len) < 0) { handleSocketError(env, errno); -@@ -159,119 +269,79 @@ +@@ -159,119 +297,115 @@ return NET_SockaddrToInetAddress(env, (struct sockaddr *)&sa, &port); } @@ -2308,12 +2354,46 @@ diff -Nru openjdk.orig/jdk/src/solaris/n } JNIEXPORT void JNICALL --Java_sun_nio_ch_Net_setIntOption0(JNIEnv *env, jclass clazz, -- jobject fdo, jint opt, jint arg) -+Java_sun_nio_ch_Net_setIntOption0(JNIEnv *env, jclass clazz, jobject fdo, -+ jboolean mayNeedConversion, jint level, jint opt, jint arg) + Java_sun_nio_ch_Net_setIntOption0(JNIEnv *env, jclass clazz, + jobject fdo, jint opt, jint arg) { - int klevel, kopt; ++ int klevel, kopt; ++ int result; ++ struct linger linger; ++ void *parg; ++ int arglen; ++ ++ if (NET_MapSocketOption(opt, &klevel, &kopt) < 0) { ++ JNU_ThrowByNameWithLastError(env, ++ JNU_JAVANETPKG "SocketException", ++ "Unsupported socket option"); ++ return; ++ } ++ ++ if (opt == java_net_SocketOptions_SO_LINGER) { ++ parg = (void *)&linger; ++ arglen = sizeof(linger); ++ if (arg >= 0) { ++ linger.l_onoff = 0; ++ linger.l_linger = 0; ++ } ++ } else { ++ parg = (void *)&arg; ++ arglen = sizeof(arg); ++ } ++ ++ if (NET_SetSockOpt(fdval(env, fdo), klevel, kopt, parg, arglen) < 0) { ++ JNU_ThrowByNameWithLastError(env, ++ JNU_JAVANETPKG "SocketException", ++ "sun.nio.ch.Net.setIntOption"); ++ } ++} ++ ++JNIEXPORT void JNICALL ++Java_sun_nio_ch_Net_setIntOption1(JNIEnv *env, jclass clazz, jobject fdo, ++ jboolean mayNeedConversion, jint level, jint opt, jint arg) ++{ int result; struct linger linger; + u_char carg; @@ -2343,7 +2423,7 @@ diff -Nru openjdk.orig/jdk/src/solaris/n parg = (void *)&linger; arglen = sizeof(linger); if (arg >= 0) { -@@ -281,19 +351,199 @@ +@@ -281,19 +415,199 @@ linger.l_onoff = 0; linger.l_linger = 0; } @@ -2475,7 +2555,7 @@ diff -Nru openjdk.orig/jdk/src/solaris/n + } + return 0; +} - ++ +JNIEXPORT void JNICALL +Java_sun_nio_ch_Net_setInterface4(JNIEnv* env, jobject this, jobject fdo, jint interf) +{ @@ -2535,7 +2615,7 @@ diff -Nru openjdk.orig/jdk/src/solaris/n + } + return (jint)index; +} -+ + +JNIEXPORT void JNICALL +Java_sun_nio_ch_Net_shutdown(JNIEnv *env, jclass cl, jobject fdo, jint jhow) +{ From ahughes at redhat.com Tue Feb 3 04:14:00 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 12:14:00 +0000 Subject: changeset in /hg/icedtea6: Merge. Message-ID: changeset d57abf1d1d65 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d57abf1d1d65 description: Merge. diffstat: 2 files changed, 69 insertions(+), 24 deletions(-) ChangeLog | 5 ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp | 88 +++++++--- diffs (152 lines): diff -r 8e91de51da9e -r d57abf1d1d65 ChangeLog --- a/ChangeLog Tue Jan 27 11:54:08 2009 +0000 +++ b/ChangeLog Tue Jan 27 11:54:55 2009 +0000 @@ -11,6 +11,11 @@ 2009-01-27 Andrew John Hughes + + * ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp: + Add memory barriers where needed for PPC. 2009-01-26 Andrew John Hughes diff -r 8e91de51da9e -r d57abf1d1d65 ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp Tue Jan 27 11:54:08 2009 +0000 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp Tue Jan 27 11:54:55 2009 +0000 @@ -23,6 +23,24 @@ * */ +#ifdef __PPC + +#define READ_MEM_BARRIER __asm __volatile ("isync":::"memory") +#ifdef __NO_LWSYNC__ +#define WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory") +#else +#define WRITE_MEM_BARRIER __asm __volatile ("lwsync":::"memory") +#endif + +#else // PPC + +#define READ_MEM_BARRIER __asm __volatile ("":::"memory") +#define WRITE_MEM_BARRIER __asm __volatile ("":::"memory") + +#endif // PPC + + + inline void OrderAccess::loadload() { acquire(); } inline void OrderAccess::storestore() { release(); } inline void OrderAccess::loadstore() { acquire(); } @@ -30,12 +48,12 @@ inline void OrderAccess::storeload() { inline void OrderAccess::acquire() { - __sync_synchronize(); + READ_MEM_BARRIER; } inline void OrderAccess::release() { - __sync_synchronize(); + WRITE_MEM_BARRIER; } inline void OrderAccess::fence() @@ -43,49 +61,71 @@ inline void OrderAccess::fence() __sync_synchronize(); } -inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { return *p; } -inline jshort OrderAccess::load_acquire(volatile jshort* p) { return *p; } -inline jint OrderAccess::load_acquire(volatile jint* p) { return *p; } +inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { jbyte data = *p; acquire(); return data; } +inline jshort OrderAccess::load_acquire(volatile jshort* p) { jshort data = *p; acquire(); return data; } +inline jint OrderAccess::load_acquire(volatile jint* p) { jint data = *p; acquire(); return data; } inline jlong OrderAccess::load_acquire(volatile jlong* p) { jlong tmp; os::atomic_copy64(p, &tmp); + acquire(); return tmp; } -inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { return *p; } -inline jushort OrderAccess::load_acquire(volatile jushort* p) { return *p; } -inline juint OrderAccess::load_acquire(volatile juint* p) { return *p; } +inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { jubyte data = *p; acquire(); return data; } +inline jushort OrderAccess::load_acquire(volatile jushort* p) { jushort data = *p; acquire(); return data; } +inline juint OrderAccess::load_acquire(volatile juint* p) { juint data = *p; acquire(); return data; } inline julong OrderAccess::load_acquire(volatile julong* p) { julong tmp; os::atomic_copy64(p, &tmp); + acquire(); return tmp; } -inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { return *p; } +inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { jfloat data = *p; acquire(); return data; } inline jdouble OrderAccess::load_acquire(volatile jdouble* p) { jdouble tmp; os::atomic_copy64(p, &tmp); + acquire(); return tmp; } -inline intptr_t OrderAccess::load_ptr_acquire(volatile intptr_t* p) { return *p; } -inline void* OrderAccess::load_ptr_acquire(volatile void* p) { return *(void* volatile *)p; } -inline void* OrderAccess::load_ptr_acquire(const volatile void* p) { return *(void* const volatile *)p; } +inline intptr_t OrderAccess::load_ptr_acquire(volatile intptr_t* p) +{ + intptr_t data = *p; + acquire(); + return data; +} +inline void* OrderAccess::load_ptr_acquire(volatile void* p) +{ + void *data = *(void* volatile *)p; + acquire(); + return data; +} +inline void* OrderAccess::load_ptr_acquire(const volatile void* p) +{ + void *data = *(void* const volatile *)p; + acquire(); + return data; +} -inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { *p = v; } -inline void OrderAccess::release_store(volatile jshort* p, jshort v) { *p = v; } -inline void OrderAccess::release_store(volatile jint* p, jint v) { *p = v; } -inline void OrderAccess::release_store(volatile jlong* p, jlong v) { os::atomic_copy64(&v, p); } -inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { *p = v; } -inline void OrderAccess::release_store(volatile jushort* p, jushort v) { *p = v; } -inline void OrderAccess::release_store(volatile juint* p, juint v) { *p = v; } -inline void OrderAccess::release_store(volatile julong* p, julong v) { os::atomic_copy64(&v, p); } -inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { *p = v; } -inline void OrderAccess::release_store(volatile jdouble* p, jdouble v) { os::atomic_copy64(&v, p); } +inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { release(); *p = v; } +inline void OrderAccess::release_store(volatile jshort* p, jshort v) { release(); *p = v; } +inline void OrderAccess::release_store(volatile jint* p, jint v) { release(); *p = v; } +inline void OrderAccess::release_store(volatile jlong* p, jlong v) +{ release(); os::atomic_copy64(&v, p); } +inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { release(); *p = v; } +inline void OrderAccess::release_store(volatile jushort* p, jushort v) { release(); *p = v; } +inline void OrderAccess::release_store(volatile juint* p, juint v) { release(); *p = v; } +inline void OrderAccess::release_store(volatile julong* p, julong v) +{ release(); os::atomic_copy64(&v, p); } +inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { release(); *p = v; } +inline void OrderAccess::release_store(volatile jdouble* p, jdouble v) +{ release(); os::atomic_copy64(&v, p); } -inline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { *p = v; } -inline void OrderAccess::release_store_ptr(volatile void* p, void* v) { *(void* volatile *)p = v; } +inline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { release(); *p = v; } +inline void OrderAccess::release_store_ptr(volatile void* p, void* v) +{ release(); *(void* volatile *)p = v; } inline void OrderAccess::store_fence(jbyte* p, jbyte v) { *p = v; fence(); } inline void OrderAccess::store_fence(jshort* p, jshort v) { *p = v; fence(); } From gnu_andrew at member.fsf.org Tue Feb 3 07:13:19 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 3 Feb 2009 15:13:19 +0000 Subject: NIO2 support in IcedTea6 Message-ID: <17c6771e0902030713x247ae830t873fa62575e8a697@mail.gmail.com> I've just committed support for NIO2 to IcedTea6. This is enabled by default but may be disabled using --disable-nio2. The majority of support is provided in the overlays subdirectory under a new nio2 tree. In addition, patches/icedtea-nio2.patch adds the necessary support to the Makefiles and some of the native code. To retain compatibility with Java 1.6, the classes are provided under the org.classpath.icedtea package prefix (so the updated java.io.File becomes org.classpath.icedtea.java.io.File and so on). Thus, when compiling NIO2 code against IcedTea6, you will need to add this prefix. When support is ported over to IcedTea7, this extension will be dropped and support added directly to the java.* classes (effectively making it equivalent to the NIO2 tree, but with the ability to use the main OpenJDK7 tarballs and IcedTea extensions). I'll blog about this in more detail shortly with some examples, but feel free to start trying NIO2 and report any issues caused by the backport. More about NIO2 is available here: http://openjdk.java.net/projects/nio/ This work is funded by Red Hat, with the aim of providing early access to NIO2 technologies for users of IcedTea. Happy hacking, -- Andrew :-) IcedTea/OpenJDK Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Tue Feb 3 07:16:19 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Feb 2009 15:16:19 +0000 Subject: [Bug 288] regressions in jdk testsuite with new hotspot Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=288 ------- Comment #1 from gnu_andrew at member.fsf.org 2009-02-03 15:16 ------- I don't recall seeing these failures with IcedTea7. Have you checked against this? It could be the IcedTea7 tests need backporting or some JDI code. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Tue Feb 3 07:42:20 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 15:42:20 +0000 Subject: changeset in /hg/icedtea6: The outputted documentation should be... Message-ID: changeset c38d90386c71 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c38d90386c71 description: The outputted documentation should be licensed under the GPL but for some reason this only occurs when FCS is not set. This fixes the issue. 2009-02-03 Andrew John Hughes * Makefile.am: Add new patch. * patches/icedtea-doc-headers.patch: Fix licensing of documentation. diffstat: 3 files changed, 56 insertions(+), 1 deletion(-) ChangeLog | 7 +++++ Makefile.am | 3 +- patches/icedtea-doc-headers.patch | 47 +++++++++++++++++++++++++++++++++++++ diffs (78 lines): diff -r 12c4111a284c -r c38d90386c71 ChangeLog --- a/ChangeLog Tue Feb 03 12:08:26 2009 +0000 +++ b/ChangeLog Tue Feb 03 15:41:58 2009 +0000 @@ -1,3 +1,10 @@ 2009-01-30 Andrew John Hughes + + * Makefile.am: + Add new patch. + * patches/icedtea-doc-headers.patch: + Fix licensing of documentation. + 2009-01-30 Andrew John Hughes * patches/icedtea-nio2.patch: diff -r 12c4111a284c -r c38d90386c71 Makefile.am --- a/Makefile.am Tue Feb 03 12:08:26 2009 +0000 +++ b/Makefile.am Tue Feb 03 15:41:58 2009 +0000 @@ -615,7 +615,8 @@ ICEDTEA_PATCHES += \ $(DISTRIBUTION_PATCHES) \ patches/icedtea-demo-swingapplet.patch \ patches/icedtea-awt-window-size.patch \ - patches/icedtea-java2d-dasher.patch + patches/icedtea-java2d-dasher.patch \ + patches/icedtea-doc-headers.patch stamps/extract.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND diff -r 12c4111a284c -r c38d90386c71 patches/icedtea-doc-headers.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-doc-headers.patch Tue Feb 03 15:41:58 2009 +0000 @@ -0,0 +1,47 @@ +diff -Nru openjdk.orig/jdk/make/docs/Makefile openjdk/jdk/make/docs/Makefile +--- openjdk.orig/jdk/make/docs/Makefile 2009-02-03 13:34:38.000000000 +0000 ++++ openjdk/jdk/make/docs/Makefile 2009-02-03 13:37:17.000000000 +0000 +@@ -99,36 +99,20 @@ + + TAGS = $(IGNORED_TAGS:%=-tag %:X) $(TAG_JLS3) + +-ifeq ($(MILESTONE), fcs) +- DOCTITLE_SWITCH = $(JAVADOCTITLE) +- WINDOWTITLE_SWITCH = $(JAVADOCWINDOWTITLE) +- HEADER_SWITCH = $(JAVADOCHEADER) +- TOPOPTION= +- JAVADOCBOTTOM_SWITCH= $(JAVADOCBOTTOM) +- OVERVIEW_OPTION = -overview $(JAVADOCOVERVIEW) +-else +- DOCTITLE_SWITCH = $(JAVADOCTITLE_EARLYACCESS)$(DRAFT) +- WINDOWTITLE_SWITCH = $(JAVADOCWINDOWTITLE)" $(BUILD_NUMBER)" +- HEADER_SWITCH = $(JAVADOCHEADER)$(DRAFT) +- JAVADOCBOTTOM_SWITCH= $(JAVADOCBOTTOM_EARLYACCESS) +- TOPOPTION= -top $(JAVADOCTOP_EARLYACCESS) +- OVERVIEW_OPTION = +-endif ++DOCTITLE_SWITCH = $(JAVADOCTITLE) ++WINDOWTITLE_SWITCH = $(JAVADOCWINDOWTITLE)" $(BUILD_NUMBER)" ++HEADER_SWITCH = $(JAVADOCHEADER) ++TOPOPTION= ++JAVADOCBOTTOM_SWITCH= $(JAVADOCBOTTOM) ++OVERVIEW_OPTION = -overview $(JAVADOCOVERVIEW) + + JAVADOCTITLE = 'Java$(TRADEMARK) Platform, Standard Edition $(JDK_MINOR_VERSION)
API Specification' + JAVADOCWINDOWTITLE = 'Java Platform SE $(JDK_MINOR_VERSION)' + JAVADOCHEADER = 'Java$(TRADEMARK) Platform
Standard Ed. $(JDK_MINOR_VERSION)
' +-JAVADOCBOTTOM = 'Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright $(THIS_YEAR) Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.' ++JAVADOCBOTTOM = 'Submit a bug or feature

Copyright $(THIS_YEAR) Sun Microsystems, Inc. All rights reserved. Use is subject to the terms of the GNU General Public License.' + JAVADOCOVERVIEW = $(SHARE_SRC)/classes/overview-core.html + + # +-# Early access top and bottom text (for snapshots, beta and rc) +-# +-JAVADOCTOP_EARLYACCESS = '

Please note that this documentation is not final and is subject to change.
' +-JAVADOCBOTTOM_EARLYACCESS = 'Submit a bug or feature

Copyright $(THIS_YEAR) Sun Microsystems, Inc. All rights reserved. Use is subject to the terms of the GNU General Public License.' +-JAVADOCTITLE_EARLYACCESS = $(subst Specification,Documentation,$(JAVADOCTITLE)) +- +-# + # Variables used by domapidocs target + # + From ahughes at redhat.com Tue Feb 3 12:23:43 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 20:23:43 +0000 Subject: changeset in /hg/icedtea6: Generate documentation for NIO2. Message-ID: changeset 6b1b34af152d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6b1b34af152d description: Generate documentation for NIO2. 2009-02-03 Andrew John Hughes * patches/icedtea-nio2.patch: (docs/NON_CORE_PKGS.gmk): Rename NIO to NIO2. (docs/Makefile): Add rule for generating NIO2 docs. diffstat: 2 files changed, 75 insertions(+), 6 deletions(-) ChangeLog | 6 +++ patches/icedtea-nio2.patch | 75 ++++++++++++++++++++++++++++++++++++++++---- diffs (112 lines): diff -r 0c693476e03c -r 6b1b34af152d ChangeLog --- a/ChangeLog Tue Feb 03 16:20:10 2009 +0000 +++ b/ChangeLog Tue Feb 03 20:23:22 2009 +0000 @@ -1,3 +1,9 @@ 2009-02-03 Andrew John Hughes + + * patches/icedtea-nio2.patch: + (docs/NON_CORE_PKGS.gmk): Rename NIO to NIO2. + (docs/Makefile): Add rule for generating NIO2 docs. + 2009-02-03 Andrew John Hughes * Makefile.am: diff -r 0c693476e03c -r 6b1b34af152d patches/icedtea-nio2.patch --- a/patches/icedtea-nio2.patch Tue Feb 03 16:20:10 2009 +0000 +++ b/patches/icedtea-nio2.patch Tue Feb 03 20:23:22 2009 +0000 @@ -9,26 +9,89 @@ diff -Nru openjdk.orig/jdk/make/docs/COR org.jcp.* \ org.w3c.dom.css \ org.w3c.dom.html \ +diff -Nru openjdk.orig/jdk/make/docs/Makefile openjdk/jdk/make/docs/Makefile +--- openjdk.orig/jdk/make/docs/Makefile 2009-02-03 16:20:38.000000000 +0000 ++++ openjdk/jdk/make/docs/Makefile 2009-02-03 19:40:10.000000000 +0000 +@@ -404,6 +404,29 @@ + # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk + + # ++# Variables used by nio2docs target ++# ++ ++NIO2_JAVADOCFLAGS = $(COMMON_JAVADOCFLAGS) \ ++ -encoding ascii \ ++ -d $(NIO2_DOCDIR) \ ++ -sourcepath $(NIO2_SOURCEPATH) \ ++ -splitIndex \ ++ -doctitle $(NIO2_JAVADOCTITLE) \ ++ -windowtitle $(NIO2_JAVADOCWINDOWTITLE) \ ++ -header $(NIO2_JAVADOCHEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ ++ -group $(NIO2_GROUPNAME) $(NIO2_REGEXP) ++NIO2_JAVADOCTITLE = 'NIO2 API' ++NIO2_JAVADOCWINDOWTITLE = 'NIO2 API' ++NIO2_JAVADOCHEADER = 'NIO2 API' ++NIO2_GROUPNAME = "Packages" ++NIO2_REGEXP = "org.classpath.icedtea.*" ++NIO2_DOCDIR = $(DOCSDIR)/jre/api/nio2 ++NIO2_SOURCEPATH = $(TOPDIR)/src/share/classes ++# NIO2_PKGS is located in NON_CORE_PKGS.gmk ++ ++# + # Path where javadoc should find source files for release docs + # + RELEASEDOCS_SRCPATH = "$(SHARE_SRC)/classes$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/doc/stub$(CLASSPATH_SEPARATOR)$(CLOSED_SRC)/share/classes$(CLASSPATH_SEPARATOR)$(IMPORTSRCDIR)" +@@ -429,7 +452,8 @@ + httpserverdocs \ + mgmtdocs \ + attachdocs \ +- jconsoledocs ++ jconsoledocs \ ++ nio2docs + + ifdef LANGTOOLS_DIST + ALL_OTHER_TARGETS += \ +@@ -646,6 +670,14 @@ + $(TREEAPI_LINKOPT) \ + $(TREEAPI_PKGS) + ++.PHONY: nio2docs ++nio2docs: ++ @# ######## api-nio2 ############################ ++ $(RM) -r $(NIO2_DOCDIR) ++ $(MKDIR) -p $(NIO2_DOCDIR) ++ $(JAVADOC_CMD) $(NIO2_JAVADOCFLAGS) \ ++ $(NIO2_PKGS) ++ + # DEBUG TARGET + # List the values defined in the makefile hierarchy, to make sure everything + # is set properly, and to help identify values we can use instead of making new ones. diff -Nru openjdk.orig/jdk/make/docs/NON_CORE_PKGS.gmk openjdk/jdk/make/docs/NON_CORE_PKGS.gmk --- openjdk.orig/jdk/make/docs/NON_CORE_PKGS.gmk 2009-01-07 21:27:46.000000000 +0000 -+++ openjdk/jdk/make/docs/NON_CORE_PKGS.gmk 2009-01-09 21:21:39.000000000 +0000 -@@ -65,6 +65,11 @@ ++++ openjdk/jdk/make/docs/NON_CORE_PKGS.gmk 2009-02-03 16:28:29.000000000 +0000 +@@ -65,6 +65,16 @@ HTTPSERVER_PKGS = com.sun.net.httpserver \ com.sun.net.httpserver.spi -+NIO_PKGS = com.sun.nio.file \ ++NIO2_PKGS = org.classpath.icedtea.java.io \ ++ org.classpath.icedtea.java.net \ ++ org.classpath.icedtea.java.nio.channels \ ++ org.classpath.icedtea.java.nio.channels.spi \ + org.classpath.icedtea.java.nio.file \ + org.classpath.icedtea.java.nio.file.attribute \ -+ org.classpath.icedtea.java.nio.file.spi ++ org.classpath.icedtea.java.nio.file.spi \ ++ org.classpath.icedtea.java.util ++ + DOCLETAPI_PKGS = com.sun.javadoc TAGLETAPI_FILE = com/sun/tools/doclets/Taglet.java -@@ -89,6 +94,7 @@ +@@ -89,6 +99,7 @@ $(MGMT_PKGS) \ $(JAAS_PKGS) \ $(JGSS_PKGS) \ -+ $(NIO_PKGS) \ ++ $(NIO2_PKGS) \ $(OLD_JSSE_PKGS) \ $(HTTPSERVER_PKGS) \ $(SMARTCARDIO_PKGS) From ahughes at redhat.com Tue Feb 3 12:23:42 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 03 Feb 2009 20:23:42 +0000 Subject: changeset in /hg/icedtea6: More documentation fixes; our Bugzill... Message-ID: changeset 0c693476e03c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0c693476e03c description: More documentation fixes; our Bugzilla URL is used (as we do for HotSpot crashes) and the same licensing header is used for all docs. 2009-02-03 Andrew John Hughes * Makefile.am: Move doc headers patch above NIO2 patch, as this needs to alter the same file. * patches/icedtea-doc-headers.patch: Add IcedTea bugzilla URL and common licensing to all documentation. diffstat: 3 files changed, 148 insertions(+), 5 deletions(-) ChangeLog | 9 ++ Makefile.am | 6 - patches/icedtea-doc-headers.patch | 138 ++++++++++++++++++++++++++++++++++++- diffs (197 lines): diff -r c38d90386c71 -r 0c693476e03c ChangeLog --- a/ChangeLog Tue Feb 03 15:41:58 2009 +0000 +++ b/ChangeLog Tue Feb 03 16:20:10 2009 +0000 @@ -1,3 +1,12 @@ 2009-02-03 Andrew John Hughes + + * Makefile.am: + Move doc headers patch above NIO2 patch, + as this needs to alter the same file. + * patches/icedtea-doc-headers.patch: + Add IcedTea bugzilla URL and common licensing + to all documentation. + 2009-02-03 Andrew John Hughes * Makefile.am: diff -r c38d90386c71 -r 0c693476e03c Makefile.am --- a/Makefile.am Tue Feb 03 15:41:58 2009 +0000 +++ b/Makefile.am Tue Feb 03 16:20:10 2009 +0000 @@ -562,7 +562,8 @@ ICEDTEA_PATCHES += \ patches/icedtea-6728542-epoll.patch \ patches/icedtea-io_util-overflow.patch \ patches/icedtea-cc-interp-jvmti.patch \ - patches/icedtea-pr261.patch + patches/icedtea-pr261.patch \ + patches/icedtea-doc-headers.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ @@ -615,8 +616,7 @@ ICEDTEA_PATCHES += \ $(DISTRIBUTION_PATCHES) \ patches/icedtea-demo-swingapplet.patch \ patches/icedtea-awt-window-size.patch \ - patches/icedtea-java2d-dasher.patch \ - patches/icedtea-doc-headers.patch + patches/icedtea-java2d-dasher.patch stamps/extract.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND diff -r c38d90386c71 -r 0c693476e03c patches/icedtea-doc-headers.patch --- a/patches/icedtea-doc-headers.patch Tue Feb 03 15:41:58 2009 +0000 +++ b/patches/icedtea-doc-headers.patch Tue Feb 03 16:20:10 2009 +0000 @@ -1,6 +1,6 @@ diff -Nru openjdk.orig/jdk/make/docs/Mak diff -Nru openjdk.orig/jdk/make/docs/Makefile openjdk/jdk/make/docs/Makefile --- openjdk.orig/jdk/make/docs/Makefile 2009-02-03 13:34:38.000000000 +0000 -+++ openjdk/jdk/make/docs/Makefile 2009-02-03 13:37:17.000000000 +0000 ++++ openjdk/jdk/make/docs/Makefile 2009-02-03 16:11:08.000000000 +0000 @@ -99,36 +99,20 @@ TAGS = $(IGNORED_TAGS:%=-tag %:X) $(TAG_JLS3) @@ -31,7 +31,7 @@ diff -Nru openjdk.orig/jdk/make/docs/Mak JAVADOCWINDOWTITLE = 'Java Platform SE $(JDK_MINOR_VERSION)' JAVADOCHEADER = 'Java$(TRADEMARK) Platform
Standard Ed. $(JDK_MINOR_VERSION)
' -JAVADOCBOTTOM = 'Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright $(THIS_YEAR) Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.' -+JAVADOCBOTTOM = 'Submit a bug or feature

Copyright $(THIS_YEAR) Sun Microsystems, Inc. All rights reserved. Use is subject to the terms of the GNU General Public License.' ++JAVADOCBOTTOM = 'Submit a bug or feature

Copyright $(THIS_YEAR) Sun Microsystems, Inc. All rights reserved. Use is subject to the terms of the GNU General Public License.' JAVADOCOVERVIEW = $(SHARE_SRC)/classes/overview-core.html # @@ -45,3 +45,137 @@ diff -Nru openjdk.orig/jdk/make/docs/Mak # Variables used by domapidocs target # +@@ -138,12 +122,11 @@ + -doctitle $(DOMAPI_JAVADOCTITLE) \ + -windowtitle $(DOMAPI_JAVADOCWINDOWTITLE) \ + -header $(DOMAPI_JAVADOCHEADER) \ +- -bottom $(DOMAPI_JAVADOCBOTTOM) \ ++ -bottom $(JAVADOCBOTTOM) \ + -group $(DOMAPI_GROUPNAME) $(DOMAPI_REGEXP) + DOMAPI_JAVADOCTITLE = 'Common DOM API' + DOMAPI_JAVADOCWINDOWTITLE = 'Common DOM API' + DOMAPI_JAVADOCHEADER = 'Common DOM API' +-DOMAPI_JAVADOCBOTTOM = 'Submit a bug or feature
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright $(THIS_YEAR) Sun Microsystems, Inc. 4150 Network Circle
Santa Clara, California, 95054, U.S.A. All Rights Reserved.
' + DOMAPI_GROUPNAME = "Packages" + DOMAPI_REGEXP = "com.sun.java.browser.dom:org.w3c.dom*" + # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk +@@ -157,13 +140,12 @@ + -doctitle $(MIRROR_JAVADOCTITLE) \ + -windowtitle $(MIRROR_JAVADOCWINDOWTITLE) \ + -header $(MIRROR_JAVADOCHEADER) \ +- -bottom $(MIRROR_JAVADOCBOTTOM) \ ++ -bottom $(JAVADOCBOTTOM) \ + -group $(MIRROR_GROUPNAME) $(MIRROR_REGEXP) \ + -overview $(MIRROR_OVERVIEW) + MIRROR_JAVADOCTITLE = 'Mirror API' + MIRROR_JAVADOCWINDOWTITLE = 'Mirror API' + MIRROR_JAVADOCHEADER = 'Mirror API' +-MIRROR_JAVADOCBOTTOM = 'Report a bug or request a feature.
Copyright $(THIS_YEAR) Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.
' + MIRROR_GROUPNAME = "Packages" + MIRROR_OVERVIEW = $(IMPORTSRCDIR)/com/sun/mirror/overview.html + MIRROR_REGEXP = "com.sun.mirror.*" +@@ -181,12 +163,11 @@ + -doctitle $(DOCLETAPI_JAVADOCTITLE) \ + -windowtitle $(DOCLETAPI_JAVADOCWINDOWTITLE) \ + -header $(DOCLETAPI_JAVADOCHEADER) \ +- -bottom $(DOCLETAPI_JAVADOCBOTTOM) \ ++ -bottom $(JAVADOCBOTTOM) \ + -group $(DOCLETAPI_GROUPNAME) $(DOCLETAPI_REGEXP) + DOCLETAPI_JAVADOCTITLE = 'Doclet API' + DOCLETAPI_JAVADOCWINDOWTITLE = 'Doclet API' + DOCLETAPI_JAVADOCHEADER = 'Doclet API' +-DOCLETAPI_JAVADOCBOTTOM = 'Submit a bug or feature
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-$(THIS_YEAR) Sun Microsystems, Inc. 4150 Network Circle
Santa Clara, California, 95054, U.S.A. All Rights Reserved.
' + DOCLETAPI_GROUPNAME = "Packages" + DOCLETAPI_REGEXP = "com.sun.javadoc" + DOCLETAPI_LINKOPT = -linkoffline ../../../../api $(DOCSDIR)/api/ +@@ -200,8 +181,7 @@ + -encoding ascii \ + -nonavbar \ + -noindex \ +- -bottom $(TAGLETAPI_JAVADOCBOTTOM) +-TAGLETAPI_JAVADOCBOTTOM = 'Submit a bug or feature
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-$(THIS_YEAR) Sun Microsystems, Inc. 4150 Network Circle
Santa Clara, California, 95054, U.S.A. All Rights Reserved.
' ++ -bottom $(JAVADOCBOTTOM) + # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk + + # +@@ -218,6 +198,7 @@ + -windowtitle $(JDI_WINDOWTITLE) \ + -doctitle $(JDI_DOCTITLE) \ + -header $(JDI_HEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ + -linkoffline ../../../../api $(DOCSDIR)/api/ \ + -overview $(JPDA_SOURCEPATH)/jdi-overview.html + JDI_WINDOWTITLE = "Java Debug Interface" +@@ -242,6 +223,7 @@ + -windowtitle $(JAAS_WINDOWTITLE) \ + -doctitle $(JAAS_DOCTITLE) \ + -header $(JAAS_JAVADOCHEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ + -linkoffline ../../../../../api $(DOCSDIR)/api/ \ + -overview $(TOPDIR)/src/share/classes/com/sun/security/auth/jaas-overview.html + JAAS_WINDOWTITLE = "Java Authentication and Authorization Service " +@@ -264,6 +246,7 @@ + -windowtitle $(JGSS_WINDOWTITLE) \ + -doctitle $(JGSS_DOCTITLE) \ + -header $(JGSS_JAVADOCHEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ + -linkoffline ../../../../../api $(DOCSDIR)/api/ \ + -overview $(JGSS_SOURCEPATH)/com/sun/security/jgss/jgss-overview.html + +@@ -287,6 +270,7 @@ + -windowtitle $(SMARTCARDIO_WINDOWTITLE) \ + -doctitle $(SMARTCARDIO_DOCTITLE) \ + -header $(SMARTCARDIO_JAVADOCHEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ + -linkoffline ../../../../../api $(DOCSDIR)/api/ + + SMARTCARDIO_WINDOWTITLE = "Java Smart Card I/O" +@@ -309,6 +293,7 @@ + -windowtitle $(HTTPSERVER_WINDOWTITLE) \ + -doctitle $(HTTPSERVER_DOCTITLE) \ + -header $(HTTPSERVER_JAVADOCHEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ + -linkoffline ../../../../../api $(DOCSDIR)/api/ + + HTTPSERVER_WINDOWTITLE = "Java HTTP Server" +@@ -344,6 +329,7 @@ + -windowtitle $(MGMT_WINDOWTITLE) \ + -doctitle $(MGMT_DOCTITLE) \ + -header $(MGMT_HEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ + -linkoffline ../../../../api $(DOCSDIR)/api/ \ + -overview $(MGMT_SOURCEPATH)/com/sun/management/mgmt-overview.html + MGMT_WINDOWTITLE = "Monitoring and Management Interface for the Java Platform" +@@ -365,6 +351,7 @@ + -windowtitle $(ATTACH_WINDOWTITLE) \ + -doctitle $(ATTACH_DOCTITLE) \ + -header $(ATTACH_HEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ + -linkoffline ../../../../api $(DOCSDIR)/api/ + ATTACH_WINDOWTITLE = "Attach API" + ATTACH_DOCTITLE = "Attach API" +@@ -385,6 +372,7 @@ + -windowtitle $(JCONSOLE_WINDOWTITLE) \ + -doctitle $(JCONSOLE_DOCTITLE) \ + -header $(JCONSOLE_HEADER) \ ++ -bottom $(JAVADOCBOTTOM) \ + -linkoffline ../../../../api $(DOCSDIR)/api/ + JCONSOLE_WINDOWTITLE = "JConsole API" + JCONSOLE_DOCTITLE = "JConsole API" +@@ -400,7 +388,7 @@ + -doctitle $(TREEAPI_JAVADOCTITLE) \ + -windowtitle $(TREEAPI_JAVADOCWINDOWTITLE) \ + -header $(TREEAPI_JAVADOCHEADER) \ +- -bottom $(TREEAPI_JAVADOCBOTTOM) \ ++ -bottom $(JAVADOCBOTTOM) \ + -group $(TREEAPI_GROUPNAME) $(TREEAPI_REGEXP) + # + # -overview $(TREEAPI_OVERVIEW) +@@ -408,7 +396,6 @@ + TREEAPI_JAVADOCTITLE = 'Compiler Tree API' + TREEAPI_JAVADOCWINDOWTITLE = 'Compiler Tree API' + TREEAPI_JAVADOCHEADER = 'Compiler Tree API' +-TREEAPI_JAVADOCBOTTOM = 'Report a bug or request a feature.
Copyright $(THIS_YEAR) Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.
' + TREEAPI_GROUPNAME = "Packages" + TREEAPI_OVERVIEW = $(SHARE_SRC)/classes/com/sun/source/overview.html + TREEAPI_REGEXP = "com.sun.source.*" From mvfranz at gmail.com Tue Feb 3 18:27:54 2009 From: mvfranz at gmail.com (Michael Franz) Date: Tue, 3 Feb 2009 21:27:54 -0500 Subject: IcedTea 7 Patches for with-project=bsd - A Plan Message-ID: Hi, Taking a different approach to getting IcedTea 7 to compile on OS X, I am trying to get the bsd repo to compile on Linux (Fedora 10). In investigating the patching problems closer, I wonder if this seems like a sound plan. 1. Identify the patches that break 2. move failing patches out of the main patch file into a project specific patch file 3. create equivalent patches for bsd 4. change the patch process to use base patches and then the project specific patches An example of this is icedtea-libraries.patch. There are 8 patches within this file that fail on the bsd repo. I would move these patches into icedtea-libraries-linux.patch (should this be jdk7?) and create bsd specific patches that are then put into icedtea-libraries-bsd.patch. The patch process can then apply the patches in icedtea-libraries.patch and then icedtea-libraries-.patch. On a similar note, I have found that icedtea-libraries.patch and icedtea-linker-options.patch are patching the same line in jdk/make/common/Program.gmk. first - LDFLAGS += -z origin + LDFLAGS += -lz -z origin then - LDFLAGS += -lz -z origin + LDFLAGS += -lz -Wl, -z -Wl,origin Is there a benefit to patching the same line twice (keeping logical changes together)? Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090203/3754afd2/attachment.html From gbenson at redhat.com Wed Feb 4 02:51:26 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 4 Feb 2009 10:51:26 +0000 Subject: IcedTea 7 Patches for with-project=bsd - A Plan In-Reply-To: References: Message-ID: <20090204105125.GA3897@redhat.com> Michael Franz wrote: > Taking a different approach to getting IcedTea 7 to compile on OS X, > I am trying to get the bsd repo to compile on Linux (Fedora 10). In > investigating the patching problems closer, I wonder if this seems > like a sound plan. [snip] That sounds like an excellent plan. It might be better to split them into subdirectories, as Andrew Hughes did with the HotSpot-specific patches, but I'll leave that choice up to you. Cheers, Gary -- http://gbenson.net/ From ahughes at redhat.com Wed Feb 4 03:49:45 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 04 Feb 2009 11:49:45 +0000 Subject: changeset in /hg/icedtea: Bump to b45. Message-ID: changeset 5a2104fb2256 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=5a2104fb2256 description: Bump to b45. 2009-02-03 Andrew John Hughes * Makefile.am: Bump to b45. diffstat: 2 files changed, 9 insertions(+), 4 deletions(-) ChangeLog | 5 +++++ Makefile.am | 8 ++++---- diffs (34 lines): diff -r 70396cb4abf8 -r 5a2104fb2256 ChangeLog --- a/ChangeLog Wed Jan 28 22:11:07 2009 +0000 +++ b/ChangeLog Wed Feb 04 11:49:31 2009 +0000 @@ -1,3 +1,8 @@ 2009-01-28 Andrew John Hughes + + * Makefile.am: + Bump to b45. + 2009-01-28 Andrew John Hughes * Makefile.am: diff -r 70396cb4abf8 -r 5a2104fb2256 Makefile.am --- a/Makefile.am Wed Jan 28 22:11:07 2009 +0000 +++ b/Makefile.am Wed Feb 04 11:49:31 2009 +0000 @@ -1,6 +1,6 @@ OPENJDK_DATE = 22_jan_2009 -OPENJDK_DATE = 22_jan_2009 -OPENJDK_MD5SUM = 6d5ce33b6ffa65966675b769b59e3d0c -OPENJDK_VERSION = b44 +OPENJDK_DATE = 29_jan_2009 +OPENJDK_MD5SUM = 0d6ae1ed77b470c9665d069b34a1bc88 +OPENJDK_VERSION = b45 CACAO_VERSION = 0.99.3 CACAO_MD5SUM = 80de3ad344c1a20c086ec5f1390bd1b8 @@ -1899,7 +1899,7 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6766136.patch \ patches/icedtea-cc-interp-jvmti.patch \ patches/hotspot/$(HSBUILD)/icedtea-6791168.patch \ - patches/hotspot/$(HSBUILD)/icedtea-includedb.patch + patches/hotspot/$(HSBUILD)/icedtea-includedb.patch if WITH_RHINO ICEDTEA_PATCHES += \ From ahughes at redhat.com Wed Feb 4 03:51:32 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 04 Feb 2009 11:51:32 +0000 Subject: changeset in /hg/icedtea6: Fix warnings that cause build failure... Message-ID: changeset ab71ebb1e8b6 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ab71ebb1e8b6 description: Fix warnings that cause build failure on gcc 4.3.3. 2009-02-04 Andrew John Hughes * Makefile.am: Add new patch. * patches/hotspot/14.0b08/icedtea-format.patch, Fix warnings that cause the build to fail with GCC 4.3.3. diffstat: 3 files changed, 58 insertions(+), 1 deletion(-) ChangeLog | 8 ++++ Makefile.am | 3 + patches/hotspot/14.0b08/icedtea-format.patch | 48 ++++++++++++++++++++++++++ diffs (80 lines): diff -r 6b1b34af152d -r ab71ebb1e8b6 ChangeLog --- a/ChangeLog Tue Feb 03 20:23:22 2009 +0000 +++ b/ChangeLog Wed Feb 04 11:51:13 2009 +0000 @@ -1,3 +1,11 @@ 2009-02-03 Andrew John Hughes + + * Makefile.am: + Add new patch. + * patches/hotspot/14.0b08/icedtea-format.patch, + Fix warnings that cause the build to fail with + GCC 4.3.3. + 2009-02-03 Andrew John Hughes * patches/icedtea-nio2.patch: diff -r 6b1b34af152d -r ab71ebb1e8b6 Makefile.am --- a/Makefile.am Tue Feb 03 20:23:22 2009 +0000 +++ b/Makefile.am Wed Feb 04 11:51:13 2009 +0000 @@ -616,7 +616,8 @@ ICEDTEA_PATCHES += \ $(DISTRIBUTION_PATCHES) \ patches/icedtea-demo-swingapplet.patch \ patches/icedtea-awt-window-size.patch \ - patches/icedtea-java2d-dasher.patch + patches/icedtea-java2d-dasher.patch \ + patches/hotspot/$(HSBUILD)/icedtea-format.patch stamps/extract.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND diff -r 6b1b34af152d -r ab71ebb1e8b6 patches/hotspot/14.0b08/icedtea-format.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/14.0b08/icedtea-format.patch Wed Feb 04 11:51:13 2009 +0000 @@ -0,0 +1,48 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2009-02-03 18:08:09.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-02-03 18:32:59.000000000 +0000 +@@ -1361,7 +1361,7 @@ + + // Feed the cache size setting into the JDK + char buffer[1024]; +- sprintf(buffer, "java.lang.Integer.IntegerCache.high=%d", AutoBoxCacheMax); ++ sprintf(buffer, "java.lang.Integer.IntegerCache.high=" INTX_FORMAT, AutoBoxCacheMax); + add_property(buffer); + } + if (AggressiveOpts && FLAG_IS_DEFAULT(DoEscapeAnalysis)) { +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp openjdk/hotspot/src/share/vm/runtime/safepoint.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp 2009-01-29 15:03:07.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/safepoint.cpp 2009-02-03 18:30:55.000000000 +0000 +@@ -730,7 +730,7 @@ + if (DieOnSafepointTimeout) { + char msg[1024]; + VM_Operation *op = VMThread::vm_operation(); +- sprintf(msg, "Safepoint sync time longer than %d ms detected when executing %s.", ++ sprintf(msg, "Safepoint sync time longer than " INTX_FORMAT " ms detected when executing %s.", + SafepointTimeoutDelay, + op != NULL ? op->name() : "no vm operation"); + fatal(msg); +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/synchronizer.cpp openjdk/hotspot/src/share/vm/runtime/synchronizer.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/synchronizer.cpp 2009-01-29 15:03:07.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/synchronizer.cpp 2009-02-03 19:32:30.000000000 +0000 +@@ -424,7 +424,7 @@ + // asserts is that error message -- often something about negative array + // indices -- is opaque. + +-#define CTASSERT(x) { int tag[1-(2*!(x))]; printf ("Tag @%X\n", tag); } ++#define CTASSERT(x) { int tag[1-(2*!(x))]; printf ("Tag @%p\n", tag); } + + void ObjectMonitor::ctAsserts() { + CTASSERT(offset_of (ObjectMonitor, _header) == 0); +diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp openjdk/hotspot/src/share/vm/utilities/vmError.cpp +--- openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp 2009-02-03 19:10:58.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp 2009-02-03 19:29:15.000000000 +0000 +@@ -307,7 +307,7 @@ + + strncpy(buf, file, buflen); + if (len + 10 < buflen) { +- sprintf(buf + len, ":" SIZE_FORMAT, _lineno); ++ sprintf(buf + len, ":%d", _lineno); + } + st->print(" (%s)", buf); + } else { From ahughes at redhat.com Wed Feb 4 04:48:50 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 04 Feb 2009 12:48:50 +0000 Subject: changeset in /hg/icedtea6: Fix JDk directory macros to drop out ... Message-ID: changeset b0be146027ad in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b0be146027ad description: Fix JDk directory macros to drop out of the default for loop when the first solution is found. At present, the loop will use the last solution found. This should be more intuitive. 2009-02-04 Andrew John Hughes * acinclude.m4: (AC_CHECK_FOR_GCJ_JDK): Drop out of loop when first solution is found. (AC_CHECK_FOR_OPENJDK): Likewise. (AC_CHECK_FOR_ICEDTEA): Likewise. diffstat: 2 files changed, 20 insertions(+), 3 deletions(-) ChangeLog | 8 ++++++++ acinclude.m4 | 15 ++++++++++++--- diffs (54 lines): diff -r ab71ebb1e8b6 -r b0be146027ad ChangeLog --- a/ChangeLog Wed Feb 04 11:51:13 2009 +0000 +++ b/ChangeLog Wed Feb 04 12:48:30 2009 +0000 @@ -1,3 +1,11 @@ 2009-02-04 Andrew John Hughes + + * acinclude.m4: + (AC_CHECK_FOR_GCJ_JDK): Drop out of loop + when first solution is found. + (AC_CHECK_FOR_OPENJDK): Likewise. + (AC_CHECK_FOR_ICEDTEA): Likewise. + 2009-02-04 Andrew John Hughes * Makefile.am: diff -r ab71ebb1e8b6 -r b0be146027ad acinclude.m4 --- a/acinclude.m4 Wed Feb 04 11:51:13 2009 +0000 +++ b/acinclude.m4 Wed Feb 04 12:48:30 2009 +0000 @@ -944,7 +944,10 @@ AC_DEFUN([AC_CHECK_FOR_GCJ_JDK], ]) if test -z "${SYSTEM_GCJ_DIR}"; then for dir in /usr/lib/jvm/java-gcj /usr/lib/jvm/gcj-jdk /usr/lib/jvm/cacao ; do - test -d $dir && SYSTEM_GCJ_DIR=$dir + if test -d $dir; then + SYSTEM_GCJ_DIR=$dir + break + fi done fi AC_MSG_RESULT(${SYSTEM_GCJ_DIR}) @@ -977,7 +980,10 @@ AC_DEFUN([AC_CHECK_FOR_OPENJDK], ]) if test -z "${SYSTEM_OPENJDK_DIR}"; then for dir in /usr/lib/jvm/java-openjdk /usr/lib/jvm/openjdk ; do - test -d $dir && SYSTEM_OPENJDK_DIR=$dir + if test -d $dir; then + SYSTEM_OPENJDK_DIR=$dir + break + fi done fi AC_MSG_RESULT(${SYSTEM_OPENJDK_DIR}) @@ -1010,7 +1016,10 @@ AC_DEFUN([AC_CHECK_FOR_ICEDTEA], ]) if test -z "${SYSTEM_ICEDTEA_DIR}"; then for dir in /usr/lib/jvm/java-icedtea /usr/lib/jvm/icedtea6 /usr/lib/jvm/java-6-openjdk ; do - test -d $dir && SYSTEM_ICEDTEA_DIR=$dir + if test -d $dir; then + SYSTEM_ICEDTEA_DIR=$dir + break + fi done fi AC_MSG_RESULT(${SYSTEM_ICEDTEA_DIR}) From ahughes at redhat.com Thu Feb 5 11:03:38 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 05 Feb 2009 19:03:38 +0000 Subject: changeset in /hg/icedtea6: Ensure NIO2 is in sync with the lates... Message-ID: changeset 9923df826001 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9923df826001 description: Ensure NIO2 is in sync with the latest build drop, b98. 2009-02-05 Andrew John Hughes Ensure the NIO2 code is in sync with the latest build drop, b98. * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Cancellable.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileStore.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java, * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/InterruptCopy.java, * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView/Basic.java, diffstat: 16 files changed, 467 insertions(+), 328 deletions(-) ChangeLog | 20 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java | 12 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java | 55 +- overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Cancellable.java | 11 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java | 13 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java | 220 +++++----- overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java | 18 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java | 4 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java | 21 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileStore.java | 4 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java | 3 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java | 16 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java | 18 overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java | 220 +++++----- overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/InterruptCopy.java | 4 overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView/Basic.java | 156 +++++-- diffs (truncated from 1256 to 500 lines): diff -r b0be146027ad -r 9923df826001 ChangeLog --- a/ChangeLog Wed Feb 04 12:48:30 2009 +0000 +++ b/ChangeLog Thu Feb 05 19:03:06 2009 +0000 @@ -1,3 +1,23 @@ 2009-02-04 Andrew John Hughes + + Ensure the NIO2 code is in sync with the latest + build drop, b98. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Cancellable.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileStore.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/InterruptCopy.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView/Basic.java, + 2009-02-04 Andrew John Hughes * acinclude.m4: diff -r b0be146027ad -r 9923df826001 overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java Wed Feb 04 12:48:30 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java Thu Feb 05 19:03:06 2009 +0000 @@ -48,9 +48,6 @@ import java.io.IOException; * intended for use where the size of an attribute value is larger than {@link * Integer#MAX_VALUE}. * - *

{@note There has been feedback that the read/write methods should use byte - * arrays instead of ByteBuffers.} - * *

Named attributes may be used in some implementations to store security * related attributes so consequently, in the case of the default provider at * least, all methods that access named attributes require the @@ -64,13 +61,10 @@ import java.io.IOException; *

Where dynamic access to file attributes is required, the {@link * #getAttribute getAttribute} or {@link #readAttributes(String,String[]) * readAttributes(String,String[])} methods may be used to read the attribute - * value as if by invoking the {@link #read read} method. Upon return, the - * buffer's {@link ByteBuffer#position position} is the index of the first - * byte of the attribute value, and its {@link ByteBuffer#limit limit} is - * the index of the first byte that should not be read. The {@link + * value. The attribute value is returned as a byte array (byte[]). The {@link * #setAttribute setAttribute} method may be used to write the value of a - * user-defined/named attribute from a buffer as if by invoking the {@link - * #write write} method. + * user-defined/named attribute from a buffer (as if by invoking the {@link + * #write write} method), or byte array (byte[]). * * @since 1.7 */ diff -r b0be146027ad -r 9923df826001 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java --- a/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java Wed Feb 04 12:48:30 2009 +0000 +++ b/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java Thu Feb 05 19:03:06 2009 +0000 @@ -62,18 +62,31 @@ abstract class AbstractNamedAttributeVie public final Object getAttribute(String attribute) throws IOException { - int size = size(attribute); - ByteBuffer buf = ByteBuffer.allocate(size); - read(attribute, buf); - buf.flip(); - return buf; + int size; + try { + size = size(attribute); + } catch (IOException e) { + // not found or some other I/O error + if (list().contains(attribute)) + throw e; + return null; + } + byt