diff --git a/src/main/org/apache/tools/ant/taskdefs/Parallel.java b/src/main/org/apache/tools/ant/taskdefs/Parallel.java index 1721dfb49..7d8b310a3 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Parallel.java +++ b/src/main/org/apache/tools/ant/taskdefs/Parallel.java @@ -265,6 +265,14 @@ public class Parallel extends Task daemons = new TaskRunnable[daemonTasks.tasks.size()]; } + synchronized (semaphore) { + // When we leave this block we can be sure all data is really + // stored in main memory before the new threads start, the new + // threads will for sure load the data from main memory. + // + // This probably is slightly paranoid. + } + synchronized (semaphore) { // start any daemon threads if (daemons != null) {