[Swift-commit] r5811 - trunk/src/org/griphyn/vdl/mapping

hategan at ci.uchicago.edu hategan at ci.uchicago.edu
Mon Jun 11 13:38:26 CDT 2012


Author: hategan
Date: 2012-06-11 13:38:26 -0500 (Mon, 11 Jun 2012)
New Revision: 5811

Modified:
   trunk/src/org/griphyn/vdl/mapping/ArrayDataNode.java
Log:
fix concurrent modification exception in array wrapper initialization

Modified: trunk/src/org/griphyn/vdl/mapping/ArrayDataNode.java
===================================================================
--- trunk/src/org/griphyn/vdl/mapping/ArrayDataNode.java	2012-06-11 17:43:58 UTC (rev 5810)
+++ trunk/src/org/griphyn/vdl/mapping/ArrayDataNode.java	2012-06-11 18:38:26 UTC (rev 5811)
@@ -107,12 +107,14 @@
     }
 
     @Override
-    protected synchronized Future getFutureWrapper() {
-    	if (wrapper == null) {
-    		wrapper = new ArrayIndexFutureList(this, this.getArrayValue());
-    		FutureTracker.get().add(this, wrapper);
-    	}
-        return wrapper;
+    protected Future getFutureWrapper() {
+        synchronized(getHandles()) {
+        	if (wrapper == null) {
+        		wrapper = new ArrayIndexFutureList(this, this.getArrayValue());
+        		FutureTracker.get().add(this, wrapper);
+        	}
+            return wrapper;
+        }
     }
 
     public FutureList getFutureList() {




More information about the Swift-commit mailing list