summaryrefslogtreecommitdiff
path: root/java/src/Freeze/ConnectionI.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2003-12-29 17:58:34 +0000
committerBernard Normier <bernard@zeroc.com>2003-12-29 17:58:34 +0000
commit71323bbf81ba8b80c0f34eff802f9c1d65dde1f1 (patch)
tree0f3d5eae1d2c7b064274969680f8eb8898b8c6e4 /java/src/Freeze/ConnectionI.java
parentAllow variables in element text (diff)
downloadice-71323bbf81ba8b80c0f34eff802f9c1d65dde1f1.tar.bz2
ice-71323bbf81ba8b80c0f34eff802f9c1d65dde1f1.tar.xz
ice-71323bbf81ba8b80c0f34eff802f9c1d65dde1f1.zip
Iterator fixes
Diffstat (limited to 'java/src/Freeze/ConnectionI.java')
-rwxr-xr-xjava/src/Freeze/ConnectionI.java28
1 files changed, 16 insertions, 12 deletions
diff --git a/java/src/Freeze/ConnectionI.java b/java/src/Freeze/ConnectionI.java
index 9edd48b88a0..7237e7f4c69 100755
--- a/java/src/Freeze/ConnectionI.java
+++ b/java/src/Freeze/ConnectionI.java
@@ -85,9 +85,10 @@ class ConnectionI extends Ice.LocalObjectImpl implements Connection
synchronized(this)
{
- while(!_mapList.isEmpty())
+ java.util.Iterator p = _mapList.iterator();
+ while(p.hasNext())
{
- ((Map) _mapList.get(0)).close(finalizing);
+ ((Map) p.next()).close(finalizing);
}
}
@@ -115,8 +116,8 @@ class ConnectionI extends Ice.LocalObjectImpl implements Connection
_trace = _communicator.getProperties().getPropertyAsInt("Freeze.Trace.Map");
Ice.Properties properties = _communicator.getProperties();
- _deadlockWarning = properties.getPropertyAsInt("Freeze.Warn.Deadlocks") != 0;
- _keepIterators = properties.getPropertyAsIntWithDefault("Freeze.Map.KeepIterators", 1) != 0;
+ _deadlockWarning = properties.getPropertyAsInt("Freeze.Warn.Deadlocks") > 0;
+ _closeInFinalizeWarning = properties.getPropertyAsIntWithDefault("Freeze.Warn.CloseInFinalize", 1) > 0;
}
ConnectionI(Ice.Communicator communicator, String envName, com.sleepycat.db.DbEnv dbEnv)
@@ -141,16 +142,19 @@ class ConnectionI extends Ice.LocalObjectImpl implements Connection
}
}
- synchronized void
+ synchronized java.util.Iterator
registerMap(Map map)
{
- _mapList.add(map);
+ _mapList.addFirst(map);
+ java.util.Iterator p = _mapList.iterator();
+ p.next();
+ return p;
}
synchronized void
- unregisterMap(Map map)
+ unregisterMap(java.util.Iterator p)
{
- _mapList.remove(map);
+ p.remove();
}
void
@@ -203,9 +207,9 @@ class ConnectionI extends Ice.LocalObjectImpl implements Connection
}
final boolean
- keepIterators()
+ closeInFinalizeWarning()
{
- return _keepIterators;
+ return _closeInFinalizeWarning;
}
private Ice.Communicator _communicator;
@@ -213,8 +217,8 @@ class ConnectionI extends Ice.LocalObjectImpl implements Connection
private com.sleepycat.db.DbEnv _dbEnv;
private String _envName;
private TransactionI _transaction;
- private java.util.List _mapList = new java.util.LinkedList();
+ private LinkedList _mapList = new Freeze.LinkedList();
private int _trace;
private boolean _deadlockWarning;
- private boolean _keepIterators;
+ private boolean _closeInFinalizeWarning;
}