|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
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
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
--- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux 2010-09-01 22:21:08.815402468 +0100
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+++ openjdk-boot/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux 2010-09-01 22:23:19.572081778 +0100
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
@@ -62,6 +62,32 @@
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
private /* final */ InputStream stdout;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
private /* final */ InputStream stderr;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ /**
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ * Required package-private classes taken from
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ * Oracle's java.lang.ProcessBuilder for bootstrapping.
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ /**
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ * Implements a null input stream.
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ static class NullInputStream extends InputStream {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ static final NullInputStream INSTANCE = new NullInputStream();
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ private NullInputStream() {}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ public int read() { return -1; }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ public int available() { return 0; }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ /**
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ * Implements a null output stream.
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ static class NullOutputStream extends OutputStream {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ static final NullOutputStream INSTANCE = new NullOutputStream();
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ private NullOutputStream() {}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ public void write(int b) throws IOException {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ throw new IOException("Stream closed");
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
/* this is for the reaping thread */
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
private native int waitForProcessExit(int pid);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
@@ -155,15 +181,15 @@
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
void initStreams(int[] fds) throws IOException {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
stdin = (fds[0] == -1) ?
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
- ProcessBuilder.NullOutputStream.INSTANCE :
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ NullOutputStream.INSTANCE :
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
new ProcessPipeOutputStream(fds[0]);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
stdout = (fds[1] == -1) ?
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
- ProcessBuilder.NullInputStream.INSTANCE :
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ NullInputStream.INSTANCE :
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
new ProcessPipeInputStream(fds[1]);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
stderr = (fds[2] == -1) ?
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
- ProcessBuilder.NullInputStream.INSTANCE :
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ NullInputStream.INSTANCE :
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
new ProcessPipeInputStream(fds[2]);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
processReaperExecutor.execute(new Runnable() {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
@@ -275,7 +301,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
byte[] stragglers = drainInputStream(in);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
in.close();
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
this.in = (stragglers == null) ?
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
- ProcessBuilder.NullInputStream.INSTANCE :
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ NullInputStream.INSTANCE :
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
new ByteArrayInputStream(stragglers);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
if (buf == null) // asynchronous close()?
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
this.in = null;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
@@ -306,7 +332,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
// We know of no reason to get an IOException, but if
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
// we do, there's nothing else to do but carry on.
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
- this.out = ProcessBuilder.NullOutputStream.INSTANCE;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ this.out = NullOutputStream.INSTANCE;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
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
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
--- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris 2010-09-01 22:21:08.815402468 +0100
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+++ openjdk-boot/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris 2010-09-01 22:22:33.204096111 +0100
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
@@ -45,6 +45,32 @@
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
private DeferredCloseInputStream stdout_inner_stream;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
private InputStream stderr_stream;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ /**
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ * Required package-private classes taken from
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ * Oracle's java.lang.ProcessBuilder for bootstrapping.
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ /**
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ * Implements a null input stream.
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ static class NullInputStream extends InputStream {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ static final NullInputStream INSTANCE = new NullInputStream();
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ private NullInputStream() {}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ public int read() { return -1; }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ public int available() { return 0; }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ /**
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ * Implements a null output stream.
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ static class NullOutputStream extends OutputStream {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ static final NullOutputStream INSTANCE = new NullOutputStream();
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ private NullOutputStream() {}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ public void write(int b) throws IOException {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ throw new IOException("Stream closed");
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
/* this is for the reaping thread */
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
private native int waitForProcessExit(int pid);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
@@ -86,7 +112,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
java.security.AccessController.doPrivileged(
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
new java.security.PrivilegedAction<Void>() { public Void run() {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
if (std_fds[0] == -1)
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
- stdin_stream = ProcessBuilder.NullOutputStream.INSTANCE;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ stdin_stream = NullOutputStream.INSTANCE;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
else {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
FileDescriptor stdin_fd = new FileDescriptor();
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
fdAccess.set(stdin_fd, std_fds[0]);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
@@ -95,7 +121,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
if (std_fds[1] == -1)
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
- stdout_stream = ProcessBuilder.NullInputStream.INSTANCE;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ stdout_stream = NullInputStream.INSTANCE;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
else {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
FileDescriptor stdout_fd = new FileDescriptor();
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
fdAccess.set(stdout_fd, std_fds[1]);
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
@@ -104,7 +130,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
}
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
if (std_fds[2] == -1)
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
- stderr_stream = ProcessBuilder.NullInputStream.INSTANCE;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
+ stderr_stream = NullInputStream.INSTANCE;
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
else {
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
FileDescriptor stderr_fd = new FileDescriptor();
|
|
![](https://seccdn.libravatar.org/avatar/52d7788adcaef49ae1ed8e5000cca2b66b6393bec6e7f52c4f4f8718356be378?s=16&d=retro) |
e797f0b |
fdAccess.set(stderr_fd, std_fds[2]);
|