Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java b/build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java
index ff39a61a99b..1799711fb02 100644
--- a/build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java
+++ b/build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java
@@ -467,7 +467,7 @@ public class GCCToolChain extends PlatformObject implements IToolChain {
Pattern definePattern = Pattern.compile("#define ([^\\s]*)\\s(.*)"); //$NON-NLS-1$
// First the include path off the error stream
- new Thread("Include Path Reader") {
+ Thread includePathReaderThread = new Thread("Include Path Reader") {
@Override
public void run() {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()))) {
@@ -493,9 +493,10 @@ public class GCCToolChain extends PlatformObject implements IToolChain {
CCorePlugin.log(e);
}
}
- }.start();
+ };
+ includePathReaderThread.start();
- new Thread("Macro reader") {
+ Thread macroReaderThread = new Thread("Macro reader") {
public void run() {
// Now the defines off the output stream
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
@@ -511,9 +512,12 @@ public class GCCToolChain extends PlatformObject implements IToolChain {
CCorePlugin.log(e);
}
}
- }.start();
+ };
+ macroReaderThread.start();
try {
+ includePathReaderThread.join();
+ macroReaderThread.join();
process.waitFor();
} catch (InterruptedException e) {
Activator.log(e);

Back to the top