diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java | 12 |
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); |