UNIXProcess.java.solaris revision 3261
byte[] dir,
int[] std_fds,
boolean redirectErrorStream)
throws IOException;
final byte[] dir,
final int[] std_fds,
final boolean redirectErrorStream)
throws IOException {
dir,
return null; }});
public void run() {
synchronized (UNIXProcess.this) {
hasExited = true;
t.setDaemon(true);
t.start();
return null; }});
return stdin_stream;
return stdout_stream;
return stderr_stream;
while (!hasExited) {
wait();
return exitcode;
public synchronized int exitValue() {
if (!hasExited) {
return exitcode;
public synchronized void destroy() {
if (!hasExited)
} catch (IOException e) {
private static class DeferredCloseInputStream
extends FileInputStream
super(fd);
private boolean closePending = false;
private void raise() {
synchronized (lock) {
useCount++;
synchronized (lock) {
useCount--;
synchronized (lock) {
closePending = true;
synchronized (lock) {
closePending = false;
super.close();
raise();
return super.read();
lower();
raise();
return super.read(b);
lower();
raise();
lower();
raise();
return super.skip(n);
lower();
raise();
return super.available();
lower();
private static native void initIDs();
initIDs();