Bug 506865 - Race condition in AbstractVMInstallType.createVMInstall
Change-Id: If7040c791b27ec0921cd1a7b96120f04b9358535
Signed-off-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstallType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstallType.java
index d475501..aba3884 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstallType.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstallType.java
@@ -98,16 +98,13 @@
* @see IVMType#createVM(String)
*/
@Override
- public IVMInstall createVMInstall(String id) throws IllegalArgumentException {
+ public synchronized IVMInstall createVMInstall(String id) throws IllegalArgumentException {
if (findVMInstall(id) != null) {
String format= LaunchingMessages.vmInstallType_duplicateVM;
throw new IllegalArgumentException(NLS.bind(format, new String[] { id }));
}
- IVMInstall vm = null;
- synchronized (this) {
- vm = doCreateVMInstall(id);
- fVMs.add(vm);
- }
+ IVMInstall vm = doCreateVMInstall(id);
+ fVMs.add(vm);
return vm;
}