prevent dead lock on large error stream from external process

This commit is contained in:
Volker Berlin 2020-04-18 11:25:11 +02:00
parent 850d990264
commit 5a665b7c11

View File

@ -494,8 +494,12 @@ public class WasmRule extends TemporaryFolder {
String stdoutMessage = ""; String stdoutMessage = "";
String errorMessage = ""; String errorMessage = "";
do { do {
stdoutMessage += readStream( process.getInputStream() ); if( process.getInputStream().available() > 0 ) {
errorMessage += readStream( process.getErrorStream() ); stdoutMessage += readStream( process.getInputStream() );
}
if( process.getErrorStream().available() > 0 ) {
errorMessage += readStream( process.getErrorStream() );
}
} }
while( !process.waitFor( 10, TimeUnit.MILLISECONDS ) ); while( !process.waitFor( 10, TimeUnit.MILLISECONDS ) );
stdoutMessage += readStream( process.getInputStream() ); stdoutMessage += readStream( process.getInputStream() );