view patches/boot/break-processbuilder-dependency.patch @ 2733:3f3d537371cd

Update to icedtea-2.4.8pre01. 2014-04-17 Andrew John Hughes <gnu_andrew@member.fsf.org> * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.4.8pre01 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Temporarily disable systemtap_gc patch which breaks build. * NEWS: Add remaining changes from u55 and PR1188 regression fix. * hotspot.map: Update to icedtea-2.4.8pre01. * patches/boot/break-processbuilder-dependency.patch: Regenerated. * patches/boot/ecj-diamond.patch: Add new case in java.util.logging.LogManager.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Thu, 17 Apr 2014 17:21:03 +0100
parents a58071a38743
children
line wrap: on
line source

diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux openjdk-boot/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux
--- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux	2014-04-16 19:41:14.000000000 +0100
+++ openjdk-boot/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux	2014-04-17 15:36:16.563068772 +0100
@@ -63,6 +63,32 @@
     private /* final */ InputStream  stdout;
     private /* final */ InputStream  stderr;
 
+    /**
+     * Required package-private classes taken from
+     * Oracle's java.lang.ProcessBuilder for bootstrapping.
+     */
+
+    /**
+     * Implements a <a href="#redirect-output">null input stream</a>.
+     */
+    static class NullInputStream extends InputStream {
+        static final NullInputStream INSTANCE = new NullInputStream();
+        private NullInputStream() {}
+        public int read()      { return -1; }
+        public int available() { return 0; }
+    }
+
+    /**
+     * Implements a <a href="#redirect-input">null output stream</a>.
+     */
+    static class NullOutputStream extends OutputStream {
+        static final NullOutputStream INSTANCE = new NullOutputStream();
+        private NullOutputStream() {}
+        public void write(int b) throws IOException {
+            throw new IOException("Stream closed");
+        }
+    }
+
     private static enum LaunchMechanism {
         FORK(1),
         VFORK(3);
@@ -211,15 +237,15 @@
 
     void initStreams(int[] fds) throws IOException {
         stdin = (fds[0] == -1) ?
-            ProcessBuilder.NullOutputStream.INSTANCE :
+            NullOutputStream.INSTANCE :
             new ProcessPipeOutputStream(fds[0]);
 
         stdout = (fds[1] == -1) ?
-            ProcessBuilder.NullInputStream.INSTANCE :
+            NullInputStream.INSTANCE :
             new ProcessPipeInputStream(fds[1]);
 
         stderr = (fds[2] == -1) ?
-            ProcessBuilder.NullInputStream.INSTANCE :
+            NullInputStream.INSTANCE :
             new ProcessPipeInputStream(fds[2]);
 
         processReaperExecutor.execute(new Runnable() {
@@ -332,7 +358,7 @@
                     byte[] stragglers = drainInputStream(in);
                     in.close();
                     this.in = (stragglers == null) ?
-                        ProcessBuilder.NullInputStream.INSTANCE :
+                        NullInputStream.INSTANCE :
                         new ByteArrayInputStream(stragglers);
                     if (buf == null) // asynchronous close()?
                         this.in = null;
@@ -363,7 +389,7 @@
                     // We know of no reason to get an IOException, but if
                     // we do, there's nothing else to do but carry on.
                 }
-                this.out = ProcessBuilder.NullOutputStream.INSTANCE;
+                this.out = NullOutputStream.INSTANCE;
             }
         }
     }
diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris openjdk-boot/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris
--- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris	2014-04-16 19:41:14.000000000 +0100
+++ openjdk-boot/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris	2014-04-17 15:36:49.211552223 +0100
@@ -47,6 +47,32 @@
     private DeferredCloseInputStream stdout_inner_stream;
     private InputStream stderr_stream;
 
+    /**
+     * Required package-private classes taken from
+     * Oracle's java.lang.ProcessBuilder for bootstrapping.
+     */
+
+    /**
+     * Implements a <a href="#redirect-output">null input stream</a>.
+     */
+    static class NullInputStream extends InputStream {
+        static final NullInputStream INSTANCE = new NullInputStream();
+        private NullInputStream() {}
+        public int read()      { return -1; }
+        public int available() { return 0; }
+    }
+
+    /**
+     * Implements a <a href="#redirect-input">null output stream</a>.
+     */
+    static class NullOutputStream extends OutputStream {
+        static final NullOutputStream INSTANCE = new NullOutputStream();
+        private NullOutputStream() {}
+        public void write(int b) throws IOException {
+            throw new IOException("Stream closed");
+        }
+    }
+
     private static enum LaunchMechanism {
         FORK(1),
         POSIX_SPAWN(2);
@@ -145,7 +171,7 @@
         java.security.AccessController.doPrivileged(
         new java.security.PrivilegedAction<Void>() { public Void run() {
             if (std_fds[0] == -1)
-                stdin_stream = ProcessBuilder.NullOutputStream.INSTANCE;
+                stdin_stream = NullOutputStream.INSTANCE;
             else {
                 FileDescriptor stdin_fd = new FileDescriptor();
                 fdAccess.set(stdin_fd, std_fds[0]);
@@ -154,7 +180,7 @@
             }
 
             if (std_fds[1] == -1)
-                stdout_stream = ProcessBuilder.NullInputStream.INSTANCE;
+                stdout_stream = NullInputStream.INSTANCE;
             else {
                 FileDescriptor stdout_fd = new FileDescriptor();
                 fdAccess.set(stdout_fd, std_fds[1]);
@@ -163,7 +189,7 @@
             }
 
             if (std_fds[2] == -1)
-                stderr_stream = ProcessBuilder.NullInputStream.INSTANCE;
+                stderr_stream = NullInputStream.INSTANCE;
             else {
                 FileDescriptor stderr_fd = new FileDescriptor();
                 fdAccess.set(stderr_fd, std_fds[2]);