summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2010-06-23 16:17:26 -0400
committerBernard Normier <bernard@zeroc.com>2010-06-23 16:17:26 -0400
commit0e0dd27964e1bf174eb02fc3db2f7a56f905ca06 (patch)
tree46622c1f5260f869e5d19ed2e1f14dfa805c39b0 /cpp
parentBug 4772 - Addin not installing over previous version (diff)
downloadice-0e0dd27964e1bf174eb02fc3db2f7a56f905ca06.tar.bz2
ice-0e0dd27964e1bf174eb02fc3db2f7a56f905ca06.tar.xz
ice-0e0dd27964e1bf174eb02fc3db2f7a56f905ca06.zip
Fix for bug #4785
Diffstat (limited to 'cpp')
-rwxr-xr-x[-rw-r--r--]cpp/src/Freeze/EvictorIteratorI.cpp6
-rwxr-xr-x[-rw-r--r--]cpp/test/Freeze/evictor/TestI.cpp8
2 files changed, 11 insertions, 3 deletions
diff --git a/cpp/src/Freeze/EvictorIteratorI.cpp b/cpp/src/Freeze/EvictorIteratorI.cpp
index 978747ef7f0..f28cf805f28 100644..100755
--- a/cpp/src/Freeze/EvictorIteratorI.cpp
+++ b/cpp/src/Freeze/EvictorIteratorI.cpp
@@ -60,15 +60,15 @@ Freeze::EvictorIteratorI::next()
vector<Identity>::const_iterator
Freeze::EvictorIteratorI::nextBatch()
{
- DeactivateController::Guard
- deactivateGuard(_store->evictor()->deactivateController());
-
_batch.clear();
if(!_more)
{
return _batch.end();
}
+
+ DeactivateController::Guard
+ deactivateGuard(_store->evictor()->deactivateController());
Key firstKey = _key;
diff --git a/cpp/test/Freeze/evictor/TestI.cpp b/cpp/test/Freeze/evictor/TestI.cpp
index 2be433a4309..56a5a80a910 100644..100755
--- a/cpp/test/Freeze/evictor/TestI.cpp
+++ b/cpp/test/Freeze/evictor/TestI.cpp
@@ -534,6 +534,14 @@ Test::RemoteEvictorI::RemoteEvictorI(const CommunicatorPtr& communicator, const
{
_evictor = Freeze::createBackgroundSaveEvictor(_evictorAdapter, envName, category, initializer);
}
+
+ //
+ // Check that we can get an iterator on a non-existing facet
+ //
+ Freeze::EvictorIteratorPtr p = _evictor->getIterator("foo", 1);
+ test(p->hasNext() == false);
+
+
initializer->init(this, _evictor);
_evictorAdapter->addServantLocator(_evictor, category);