package net.minecraft.launcher.process;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.launcher.Launcher;
public class ProcessMonitorThread extends Thread
{
private final JavaProcess process;
public ProcessMonitorThread(JavaProcess process)
{
this.process = process;
}
public void run()
{
InputStreamReader reader = new InputStreamReader(this.process.getRawProcess().getInputStream());
BufferedReader buf = new BufferedReader(reader);
String line = null;
while (this.process.isRunning()) {
try {
while ((line = buf.readLine()) != null) {
Launcher.getInstance().println("Client> " + line);
this.process.getSysOutLines().add(line);
}
} catch (IOException ex) {
Logger.getLogger(ProcessMonitorThread.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
buf.close();
} catch (IOException ex) {
Logger.getLogger(ProcessMonitorThread.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
JavaProcessRunnable onExit = this.process.getExitRunnable();
if (onExit != null)
onExit.onJavaProcessEnded(this.process);
}
}