diff options
author | Bernard Normier <bernard@zeroc.com> | 2003-12-29 17:58:34 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2003-12-29 17:58:34 +0000 |
commit | 71323bbf81ba8b80c0f34eff802f9c1d65dde1f1 (patch) | |
tree | 0f3d5eae1d2c7b064274969680f8eb8898b8c6e4 /java/src/Freeze/ConnectionI.java | |
parent | Allow variables in element text (diff) | |
download | ice-71323bbf81ba8b80c0f34eff802f9c1d65dde1f1.tar.bz2 ice-71323bbf81ba8b80c0f34eff802f9c1d65dde1f1.tar.xz ice-71323bbf81ba8b80c0f34eff802f9c1d65dde1f1.zip |
Iterator fixes
Diffstat (limited to 'java/src/Freeze/ConnectionI.java')
-rwxr-xr-x | java/src/Freeze/ConnectionI.java | 28 |
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;
}
|