summaryrefslogtreecommitdiff
path: root/java/src/Freeze/MapInternal/MapI.java
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2012-01-04 18:33:47 +0100
committerJose <jose@zeroc.com>2012-01-04 18:33:47 +0100
commit12f57cbc2a7e3924990e57302e0e9cc43f948f85 (patch)
treefed7b50005768d31c5f83f12dfd5f5565e4f1222 /java/src/Freeze/MapInternal/MapI.java
parentICE-3318 Java finalizers are problematic (diff)
downloadice-12f57cbc2a7e3924990e57302e0e9cc43f948f85.tar.bz2
ice-12f57cbc2a7e3924990e57302e0e9cc43f948f85.tar.xz
ice-12f57cbc2a7e3924990e57302e0e9cc43f948f85.zip
ICE-4471 Synchronization in Freeze MapI.java
Diffstat (limited to 'java/src/Freeze/MapInternal/MapI.java')
-rw-r--r--java/src/Freeze/MapInternal/MapI.java33
1 files changed, 12 insertions, 21 deletions
diff --git a/java/src/Freeze/MapInternal/MapI.java b/java/src/Freeze/MapInternal/MapI.java
index f09b91fba33..95880628678 100644
--- a/java/src/Freeze/MapInternal/MapI.java
+++ b/java/src/Freeze/MapInternal/MapI.java
@@ -1051,18 +1051,15 @@ public abstract class MapI<K, V> extends java.util.AbstractMap<K, V>
{
int count = 0;
- synchronized(_iteratorList)
- {
- java.util.Iterator<IteratorI> p = _iteratorList.iterator();
+ java.util.Iterator<IteratorI> p = _iteratorList.iterator();
- while(p.hasNext())
+ while(p.hasNext())
+ {
+ IteratorI i = p.next();
+ if(i != except)
{
- IteratorI i = p.next();
- if(i != except)
- {
- i.close();
- ++count;
- }
+ i.close();
+ ++count;
}
}
@@ -1072,13 +1069,10 @@ public abstract class MapI<K, V> extends java.util.AbstractMap<K, V>
Object
addIterator(IteratorI i)
{
- synchronized(_iteratorList)
- {
- _iteratorList.addFirst(i);
- java.util.Iterator<IteratorI> p = _iteratorList.iterator();
- p.next();
- return p;
- }
+ _iteratorList.addFirst(i);
+ java.util.Iterator<IteratorI> p = _iteratorList.iterator();
+ p.next();
+ return p;
}
void
@@ -1087,10 +1081,7 @@ public abstract class MapI<K, V> extends java.util.AbstractMap<K, V>
@SuppressWarnings("unchecked")
java.util.Iterator<IteratorI> i = (java.util.Iterator<IteratorI>)token;
- synchronized(_iteratorList)
- {
- i.remove();
- }
+ i.remove();
}
//