mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-09 17:25:38 +02:00
close() the streams before reportProblems()
This commit is contained in:
parent
ba1e859eba
commit
562eea247e
1 changed files with 11 additions and 6 deletions
|
@ -5,6 +5,7 @@ package org.eclipse.cdt.internal.core;
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.io.OutputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
|
@ -141,9 +142,11 @@ public class CBuilder extends ACBuilder {
|
||||||
}
|
}
|
||||||
ErrorParserManager epm = new ErrorParserManager(this);
|
ErrorParserManager epm = new ErrorParserManager(this);
|
||||||
epm.setOutputStream(cos);
|
epm.setOutputStream(cos);
|
||||||
|
OutputStream stdout = epm.getOutputStream();
|
||||||
|
OutputStream stderr = epm.getOutputStream();
|
||||||
|
|
||||||
launcher.execute(makepath, userArgs, env, workingDirectory);
|
launcher.execute(makepath, userArgs, env, workingDirectory);
|
||||||
if (launcher.waitAndRead(epm.getOutputStream(), epm.getOutputStream(), subMonitor) != CommandLauncher.OK)
|
if (launcher.waitAndRead(stdout, stderr, subMonitor) != CommandLauncher.OK)
|
||||||
errMsg = launcher.getErrorMessage();
|
errMsg = launcher.getErrorMessage();
|
||||||
|
|
||||||
isCanceled = monitor.isCanceled();
|
isCanceled = monitor.isCanceled();
|
||||||
|
@ -160,8 +163,6 @@ public class CBuilder extends ACBuilder {
|
||||||
subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
|
subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
|
||||||
subMonitor.subTask("Parsing");
|
subMonitor.subTask("Parsing");
|
||||||
|
|
||||||
epm.reportProblems();
|
|
||||||
|
|
||||||
if (errMsg != null) {
|
if (errMsg != null) {
|
||||||
String errorDesc = CCorePlugin.getFormattedString(BUILD_ERROR, makepath.toString());
|
String errorDesc = CCorePlugin.getFormattedString(BUILD_ERROR, makepath.toString());
|
||||||
StringBuffer buf = new StringBuffer(errorDesc);
|
StringBuffer buf = new StringBuffer(errorDesc);
|
||||||
|
@ -170,12 +171,16 @@ public class CBuilder extends ACBuilder {
|
||||||
cos.write(buf.toString().getBytes());
|
cos.write(buf.toString().getBytes());
|
||||||
cos.flush();
|
cos.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stdout.close();
|
||||||
|
stderr.close();
|
||||||
|
|
||||||
|
epm.reportProblems();
|
||||||
|
|
||||||
subMonitor.done();
|
subMonitor.done();
|
||||||
monitor.setCanceled(isCanceled);
|
monitor.setCanceled(isCanceled);
|
||||||
cos.close();
|
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
CCorePlugin.log(e);
|
CCorePlugin.log(e);
|
||||||
}
|
}
|
||||||
monitor.done();
|
monitor.done();
|
||||||
|
|
Loading…
Add table
Reference in a new issue