in cloud-vmware-server/src/main/java/jetbrains/buildServer/clouds/vmware/tasks/VmwarePooledUpdateInstanceTask.java [64:90]
public void runIfNecessary(@NotNull final VMWareCloudClient client) {
if (mySpecialState.get() != 0) {
return;
}
if (!myAlreadyRunning.compareAndSet(false, true)) {
return;
}
try {
synchronized (this) {
if (myNewClients.size() != 0) {
myClients.addAll(myNewClients);
myNewClients.clear();
}
}
if (myClients.size() == 0) {
return;
}
if (client != myClients.get(0)) {
return;
}
run();
myClients.forEach(VMWareCloudClient::setInitializedIfNecessary);
} finally {
myAlreadyRunning.set(false);
}
}