From 5a665b7c1187eb3b96d905ac122396efd87ca970 Mon Sep 17 00:00:00 2001 From: Volker Berlin Date: Sat, 18 Apr 2020 11:25:11 +0200 Subject: [PATCH] prevent dead lock on large error stream from external process --- test/de/inetsoftware/jwebassembly/WasmRule.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/de/inetsoftware/jwebassembly/WasmRule.java b/test/de/inetsoftware/jwebassembly/WasmRule.java index 8511f6e..726e0ab 100644 --- a/test/de/inetsoftware/jwebassembly/WasmRule.java +++ b/test/de/inetsoftware/jwebassembly/WasmRule.java @@ -494,8 +494,12 @@ public class WasmRule extends TemporaryFolder { String stdoutMessage = ""; String errorMessage = ""; do { - stdoutMessage += readStream( process.getInputStream() ); - errorMessage += readStream( process.getErrorStream() ); + if( process.getInputStream().available() > 0 ) { + stdoutMessage += readStream( process.getInputStream() ); + } + if( process.getErrorStream().available() > 0 ) { + errorMessage += readStream( process.getErrorStream() ); + } } while( !process.waitFor( 10, TimeUnit.MILLISECONDS ) ); stdoutMessage += readStream( process.getInputStream() );