From e4d64bf46274050dbfb8cab1a154b63c18c0d13d Mon Sep 17 00:00:00 2001 From: Florian Angerer <florian.angerer@oracle.com> Date: Mon, 5 Feb 2018 14:16:03 +0100 Subject: [PATCH] Fix: Close stdin of 'bzip2' subprocess. --- .../src/com/oracle/truffle/r/runtime/RCompression.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RCompression.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RCompression.java index 1f3cf0a6fb..92868ceba0 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RCompression.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RCompression.java @@ -259,12 +259,15 @@ public class RCompression { Process p = pb.start(); // version is written to the error output stream InputStream is = p.getErrorStream(); + OutputStream os = p.getOutputStream(); ProcessOutputManager.OutputThreadVariable readThread = new ProcessOutputManager.OutputThreadVariable(command[0], is); readThread.start(); + os.close(); try { rc = p.waitFor(); if (rc == 0) { - String output = new String(readThread.getData()); + readThread.join(); + String output = new String(readThread.getData(), 0, readThread.getTotalRead()); String version = "Version "; String firstLine = output.split("\\n")[0]; int versionIdx = firstLine.indexOf(version); -- GitLab