# HG changeset patch # User Ed Swartz # Date 1272028944 18000 # Node ID c144540186fe5c7893608418824e9e2e77ecbd0e # Parent 33a822a05021134e22c55b1b6673b462e2ff0f7e Fix ConcurrentModificationException when accumulating service testers diff -r 33a822a05021 -r c144540186fe connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/ServiceTester.java --- a/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/ServiceTester.java Wed Apr 21 14:31:25 2010 -0500 +++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/ServiceTester.java Fri Apr 23 08:22:24 2010 -0500 @@ -18,6 +18,7 @@ package com.nokia.carbide.remoteconnections.internal; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -89,13 +90,15 @@ } private ServiceTester() { - registry = new HashSet(); + registry = Collections.synchronizedSet(new HashSet()); runningThreads = new HashSet(); Thread t = new Thread(new Runnable() { public void run() { while (true) { - Collection> csSetsByResource = - createConnectedServiceSetsByResource(new HashSet(registry)); + Collection> csSetsByResource; + synchronized (registry) { + csSetsByResource = createConnectedServiceSetsByResource(new HashSet(registry)); + } for (Set set : csSetsByResource) { Collection> csSetsByService = createConnectedServiceSetsByService(set);