diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java index 8565c80e64e..178d5a4a99c 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java @@ -5,6 +5,7 @@ package org.eclipse.cdt.internal.core; * All Rights Reserved. */ +import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; @@ -145,7 +146,13 @@ public class CBuilder extends ACBuilder { OutputStream stdout = epm.getOutputStream(); OutputStream stderr = epm.getOutputStream(); - launcher.execute(makepath, userArgs, env, workingDirectory); + Process p = launcher.execute(makepath, userArgs, env, workingDirectory); + try { + // Close the input of the Process explicitely. + // We will never write to it. + p.getOutputStream().close(); + } catch (IOException e) { + } if (launcher.waitAndRead(stdout, stderr, subMonitor) != CommandLauncher.OK) errMsg = launcher.getErrorMessage();