summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/TransactionalEvictorI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Freeze/TransactionalEvictorI.cpp')
-rw-r--r--cpp/src/Freeze/TransactionalEvictorI.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/cpp/src/Freeze/TransactionalEvictorI.cpp b/cpp/src/Freeze/TransactionalEvictorI.cpp
index e2798be89da..ab3d61444f8 100644
--- a/cpp/src/Freeze/TransactionalEvictorI.cpp
+++ b/cpp/src/Freeze/TransactionalEvictorI.cpp
@@ -625,7 +625,7 @@ Freeze::TransactionalEvictorI::dispatch(Request& request)
}
//
- // Can be reached
+ // Can't be reached
//
assert(0);
throw OperationNotExistException(__FILE__, __LINE__);
@@ -637,6 +637,17 @@ Freeze::TransactionalEvictorI::deactivate(const string&)
{
if(_deactivateController.deactivate())
{
+ {
+ Lock sync(*this);
+
+ //
+ // Set the evictor size to zero, meaning that we will evict
+ // everything possible.
+ //
+ _evictorSize = 0;
+ evict();
+ }
+
//
// Break cycle
//