Merge tag "merger_01102006" from HEAD (3.1.1)
diff --git a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/util/FileSystemUtil.java b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/util/FileSystemUtil.java
index 2cb0c0e..a378c94 100644
--- a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/util/FileSystemUtil.java
+++ b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/util/FileSystemUtil.java
@@ -51,24 +51,22 @@
}
}
- public static void makeDerivedParentFolders (IContainer container) throws CoreException {
+ public static synchronized void makeDerivedParentFolders (IContainer container) throws CoreException {
// synchronize the "does it exist - if not, create it" sequence.
- synchronized(container.getProject()) {
- if ((container instanceof IFolder) && !container.exists()) {
- makeDerivedParentFolders(container.getParent());
- try {
- ((IFolder)container).create(true, true, null);
- }
- catch (CoreException e) {
- // Ignore race condition where another thread created the folder at the
- // same time, causing checkDoesNotExist() to throw within create().
- if (!container.exists()) {
- throw e;
- }
- }
- container.setDerived(true);
- }
- }
+ if ((container instanceof IFolder) && !container.exists()) {
+ makeDerivedParentFolders(container.getParent());
+ try {
+ ((IFolder)container).create(true, true, null);
+ }
+ catch (CoreException e) {
+ // Ignore race condition where another thread created the folder at the
+ // same time, causing checkDoesNotExist() to throw within create().
+ if (!container.exists()) {
+ throw e;
+ }
+ }
+ container.setDerived(true);
+ }
}
/**