Commit 4f9a6d45 by Andrew Haley Committed by Andrew Haley

CompilerProcess.java: Use a new thread to handle stdout from the child process.

2005-12-14  Andrew Haley  <aph@redhat.com>

        * gnu/java/rmi/rmic/CompilerProcess.java: Use a new thread to
        handle stdout from the child process.

From-SVN: r108536
parent 3ce43126
2005-12-14 Andrew Haley <aph@redhat.com>
* gnu/java/rmi/rmic/CompilerProcess.java: Use a new thread to
handle stdout from the child process.
2005-12-14 Tom Tromey <tromey@redhat.com>
PR classpath/25389:
......
......@@ -89,10 +89,27 @@ public abstract class CompilerProcess extends Compiler
String[] args = computeArguments (name);
Process p = Runtime.getRuntime ().exec (args);
/* Print compiler output to System.out. */
InputStream procin = p.getInputStream();
for (int ch = procin.read(); ch != -1; ch = procin.read())
System.out.print((char) ch);
/* Print compiler output to System.out. Do this asynchronously so
that the compiler never blocks writing to its stdout. */
{
final InputStream procin = p.getInputStream();
final Thread copier = new Thread()
{
public void run()
{
try
{
for (int ch = procin.read(); ch != -1; ch = procin.read())
System.out.print((char) ch);
}
catch (java.io.IOException _)
{
}
}
};
copier.start();
}
/* Collect compiler error output in a buffer.
* If compilation fails, it will be used for an error message.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment