mirror of https://github.com/rusefi/rusefi-1.git
Better Windows build-in DFU #3338
Sometimes process has already finished but we still want to read output, so give it extra half a second
This commit is contained in:
parent
3fda7305f1
commit
5eeded86c2
|
@ -1,5 +1,6 @@
|
||||||
package com.rusefi.maintenance;
|
package com.rusefi.maintenance;
|
||||||
|
|
||||||
|
import com.devexperts.util.TimeUtil;
|
||||||
import com.rusefi.SimulatorExecHelper;
|
import com.rusefi.SimulatorExecHelper;
|
||||||
import com.rusefi.ui.StatusConsumer;
|
import com.rusefi.ui.StatusConsumer;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
@ -28,12 +29,18 @@ public class ExecHelper {
|
||||||
final Thread t = new Thread(() -> {
|
final Thread t = new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
BufferedReader bis = new BufferedReader(new InputStreamReader(stream));
|
BufferedReader bis = new BufferedReader(new InputStreamReader(stream));
|
||||||
while (isRunning(p)) {
|
/*
|
||||||
|
* Sometimes process has already finished but we still want to read output, so give it extra half a second
|
||||||
|
* TODO: are we supposed to just NOT check process status and just wait for 'null' from readLine?
|
||||||
|
*/
|
||||||
|
long wasRunningTime = System.currentTimeMillis();
|
||||||
|
while (isRunning(p) || (System.currentTimeMillis() - wasRunningTime) < 0.5 * TimeUtil.SECOND) {
|
||||||
String line = bis.readLine();
|
String line = bis.readLine();
|
||||||
if (line == null)
|
if (line == null)
|
||||||
break;
|
break;
|
||||||
wnd.appendMsg(line);
|
wnd.appendMsg(line);
|
||||||
buffer.append(line);
|
buffer.append(line);
|
||||||
|
wasRunningTime = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
wnd.appendMsg("Stream " + e);
|
wnd.appendMsg("Stream " + e);
|
||||||
|
|
Loading…
Reference in New Issue