Revision: 6899
Author: [email protected]
Date: Fri Nov 13 15:41:02 2009
Log: Merge trunk r6898 into this branch

Serialize generator runs.

     svn merge --ignore-ancestry -c6898 \
       http://google-web-toolkit.googlecode.com/svn/trunk/ .


http://code.google.com/p/google-web-toolkit/source/detail?r=6899

Modified:
  /releases/2.0/branch-info.txt
   
/releases/2.0/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java

=======================================
--- /releases/2.0/branch-info.txt       Fri Nov 13 12:34:04 2009
+++ /releases/2.0/branch-info.txt       Fri Nov 13 15:41:02 2009
@@ -642,3 +642,8 @@
   Update MissingPlugin app with license and new IE download URL
      svn merge --ignore-ancestry -c6896 \
        http://google-web-toolkit.googlecode.com/svn/trunk/ .
+
+tr...@6898 was merged into this branch
+ Serialize generator runs.
+    svn merge --ignore-ancestry -c6898 \
+      http://google-web-toolkit.googlecode.com/svn/trunk/ .
=======================================
---  
/releases/2.0/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java   
 
Wed Nov 11 11:04:31 2009
+++  
/releases/2.0/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java   
 
Fri Nov 13 15:41:02 2009
@@ -31,6 +31,9 @@
   */
  public class ShellModuleSpaceHost implements ModuleSpaceHost {

+  // TODO(jat): hack to try and serialize rebinds
+  private static final Object rebindLock = new Object[0];
+
    protected final CompilationState compilationState;

    protected final File genDir;
@@ -111,13 +114,15 @@

    public String rebind(TreeLogger logger, String sourceTypeName)
        throws UnableToCompleteException {
-    checkForModuleSpace();
-    return rebindOracle.rebind(logger, sourceTypeName, new  
ArtifactAcceptor() {
-      public void accept(TreeLogger logger, ArtifactSet  
newlyGeneratedArtifacts)
-          throws UnableToCompleteException {
-        artifactAcceptor.accept(logger, newlyGeneratedArtifacts);
-      }
-    });
+    synchronized (rebindLock) {
+      checkForModuleSpace();
+      return rebindOracle.rebind(logger, sourceTypeName, new  
ArtifactAcceptor() {
+        public void accept(TreeLogger logger, ArtifactSet  
newlyGeneratedArtifacts)
+        throws UnableToCompleteException {
+          artifactAcceptor.accept(logger, newlyGeneratedArtifacts);
+        }
+      });
+    }
    }

    private void checkForModuleSpace() {

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to