Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 376724 | Differences between
and this patch

Collapse All | Expand All

(-)a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ExternalFoldersManager.java (-4 / +10 lines)
Lines 51-63 Link Here
51
	private Set pendingFolders; // subset of keys of 'folders', for which linked folders haven't been created yet.
51
	private Set pendingFolders; // subset of keys of 'folders', for which linked folders haven't been created yet.
52
	private int counter = 0;
52
	private int counter = 0;
53
	/* Singleton instance */
53
	/* Singleton instance */
54
	private static ExternalFoldersManager MANAGER = new ExternalFoldersManager();
54
	private static ExternalFoldersManager MANAGER;
55
55
56
	private ExternalFoldersManager() {
56
	private ExternalFoldersManager() {
57
		// Prevent instantiation
57
		// Prevent instantiation
58
		getFolders();
58
	}
59
	}
59
	
60
	
60
	public static ExternalFoldersManager getExternalFoldersManager() {
61
	public static synchronized ExternalFoldersManager getExternalFoldersManager() {
62
		if (MANAGER == null) {
63
			 MANAGER = new ExternalFoldersManager();
64
		}
61
		return MANAGER;
65
		return MANAGER;
62
	}
66
	}
63
	
67
	
Lines 123-130 Link Here
123
			result = externalFoldersProject.getFolder(LINKED_FOLDER_NAME + this.counter++);
127
			result = externalFoldersProject.getFolder(LINKED_FOLDER_NAME + this.counter++);
124
		} while (result.exists());
128
		} while (result.exists());
125
		if (scheduleForCreation) {
129
		if (scheduleForCreation) {
126
			if (this.pendingFolders == null)
130
			synchronized(this) {
127
				this.pendingFolders = Collections.synchronizedSet(new HashSet());
131
				if (this.pendingFolders == null)
132
					this.pendingFolders = Collections.synchronizedSet(new HashSet());
133
			}
128
			this.pendingFolders.add(externalFolderPath);
134
			this.pendingFolders.add(externalFolderPath);
129
		}
135
		}
130
		knownFolders.put(externalFolderPath, result);
136
		knownFolders.put(externalFolderPath, result);

Return to bug 376724