From d1d38f73dcb728274c167e88df691030fdec9191 Mon Sep 17 00:00:00 2001 From: John Cortell Date: Fri, 25 Sep 2009 22:55:14 +0000 Subject: [PATCH] Use a synchronized map since it's updated with an ImmediateExecutor. Discussed with Pawel. No net behavioral change. --- .../ui/viewmodel/numberformat/FormattedValueVMUtil.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueVMUtil.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueVMUtil.java index c219db798f4..610e9873d6c 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueVMUtil.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueVMUtil.java @@ -11,6 +11,8 @@ package org.eclipse.cdt.dsf.debug.ui.viewmodel.numberformat; import com.ibm.icu.text.MessageFormat; + +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -140,8 +142,9 @@ public class FormattedValueVMUtil { // First retrieve the available formats for each update's element (if // needed). Store the result in a map (for internal use) and in the // update object (if requested). After that's done, call another method - // to retrieve the formatted values. - final Map availableFormats = new HashMap(updates.length * 4/3); + // to retrieve the formatted values. Note that we use a synchronized map + // because it's updated by a request monitor with an ImmediateExecutor. + final Map availableFormats = Collections.synchronizedMap(new HashMap(updates.length * 4/3)); final CountingRequestMonitor countingRm = new CountingRequestMonitor( service.getExecutor(), new RequestMonitor(service.getExecutor(), monitor) {