Fix a deadlock when ADT starts, starts building projects, and load the SDK at the same time.
diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java
index a52599f..5d8b6c2 100644
--- a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java
+++ b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java
@@ -1045,12 +1045,12 @@
                             }
                         }
 
+                        ArrayList<IJavaProject> list = new ArrayList<IJavaProject>();
                         synchronized (getSdkLockObject()) {
                             mSdkIsLoaded = LoadStatus.LOADED;
 
                             progress.setTaskName("Check Projects");
 
-                            ArrayList<IJavaProject> list = new ArrayList<IJavaProject>();
                             for (IJavaProject javaProject : mPostLoadProjectsToResolve) {
                                 if (javaProject.getProject().isOpen()) {
                                     list.add(javaProject);
@@ -1059,24 +1059,24 @@
 
                             // done with this list.
                             mPostLoadProjectsToResolve.clear();
-
-                            // check the projects that need checking.
-                            // The method modifies the list (it removes the project that
-                            // do not need to be resolved again).
-                            AndroidClasspathContainerInitializer.checkProjectsCache(
-                                    mPostLoadProjectsToCheck);
-
-                            list.addAll(mPostLoadProjectsToCheck);
-
-                            // update the project that needs recompiling.
-                            if (list.size() > 0) {
-                                IJavaProject[] array = list.toArray(
-                                        new IJavaProject[list.size()]);
-                                AndroidClasspathContainerInitializer.updateProjects(array);
-                            }
-
-                            progress.worked(10);
                         }
+
+                        // check the projects that need checking.
+                        // The method modifies the list (it removes the project that
+                        // do not need to be resolved again).
+                        AndroidClasspathContainerInitializer.checkProjectsCache(
+                                mPostLoadProjectsToCheck);
+
+                        list.addAll(mPostLoadProjectsToCheck);
+
+                        // update the project that needs recompiling.
+                        if (list.size() > 0) {
+                            IJavaProject[] array = list.toArray(
+                                    new IJavaProject[list.size()]);
+                            AndroidClasspathContainerInitializer.updateProjects(array);
+                        }
+
+                        progress.worked(10);
                     }
 
                     // Notify resource changed listeners