diff options
author | Benoit Foucher <benoit@zeroc.com> | 2002-11-12 02:19:41 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2002-11-12 02:19:41 +0000 |
commit | c35c73e7ef8c83d5e5155398cfef749d48c8e38f (patch) | |
tree | dff80dacd783a9034957999e467a24a8de39f980 /java/src/Freeze/EvictorIteratorI.java | |
parent | disable parser/scanner rules in VC projects (diff) | |
download | ice-c35c73e7ef8c83d5e5155398cfef749d48c8e38f.tar.bz2 ice-c35c73e7ef8c83d5e5155398cfef749d48c8e38f.tar.xz ice-c35c73e7ef8c83d5e5155398cfef749d48c8e38f.zip |
Bug fixes: check if cursor is not null in EntryIterator.getNext(), cursor
is null if the db is empty and he evictor iterator now closes again the
db iterator (not the map iterator).
Diffstat (limited to 'java/src/Freeze/EvictorIteratorI.java')
-rw-r--r-- | java/src/Freeze/EvictorIteratorI.java | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/java/src/Freeze/EvictorIteratorI.java b/java/src/Freeze/EvictorIteratorI.java index 7ae781bd8e2..7f73cc4850b 100644 --- a/java/src/Freeze/EvictorIteratorI.java +++ b/java/src/Freeze/EvictorIteratorI.java @@ -28,6 +28,14 @@ class EvictorIteratorI extends Ice.LocalObjectImpl implements EvictorIterator java.util.Map.Entry entry = (java.util.Map.Entry)iterator.next(); _identities.add(entry.getKey()); } + + // + // Close the iterator explicitly. We don't want to wait for + // the garbage collection to destroy the iterator since the + // iterator consumes resources (database locks for instance). + // + ((Freeze.Map.EntryIterator)iterator).close(); + _iterator = _identities.iterator(); } @@ -53,13 +61,6 @@ class EvictorIteratorI extends Ice.LocalObjectImpl implements EvictorIterator public void destroy() { - // - // Close the iterator explicitly. We don't want to wait for - // the garbage collection to destroy the iterator since the - // iterator consumes resources (database locks for instance). - // - ((Freeze.Map.EntryIterator)_iterator).close(); - _identities = null; _iterator = null; } |