java.lang.Process.waitFor()
Erik Poupaert
erik.poupaert@freestyler-toolkit.org
Sun Sep 28 15:23:00 GMT 2003
> I prettied this up once, but can't find the code anymore. I think I might have also
> added a Thread.join(), but can't remember.
Thanks Mohan.
"Thread.join()" seems indeed the way to wait for another thread to finish. I think
it's perfect now; and it works perfectly on linux. I've removed the silly
"Thread.sleep()" and replaced it:
threadIn.start();
threadOut.start();
threadErr.start();
//wait until process truly exits before looking at its exit value
mExitCode=process.waitFor();
//wait until process all child streams have been processed
threadIn.join(0);
threadOut.join(0);
threadErr.join(0);
//recover output now
mProcOutput=threadOut.getOutput();
mProcErr=threadErr.getOutput();
I just hope that it works on GCJ 3.3/win32 as well?
Erik
More information about the Java
mailing list