summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/EvictorIteratorI.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2005-10-03 16:57:34 +0000
committerBernard Normier <bernard@zeroc.com>2005-10-03 16:57:34 +0000
commitd3578a4742a4d46d9ee38aa37e18f5483759278c (patch)
tree790b53f267cb55d8f9993d9338cbbbafec9886af /cpp/src/Freeze/EvictorIteratorI.cpp
parentFixed bogus dependency on Internal.h in icegridadmin (diff)
downloadice-d3578a4742a4d46d9ee38aa37e18f5483759278c.tar.bz2
ice-d3578a4742a4d46d9ee38aa37e18f5483759278c.tar.xz
ice-d3578a4742a4d46d9ee38aa37e18f5483759278c.zip
Refactored code to work-around DB 4.3's DB_BUFFER_SMALL bug
Diffstat (limited to 'cpp/src/Freeze/EvictorIteratorI.cpp')
-rw-r--r--cpp/src/Freeze/EvictorIteratorI.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/cpp/src/Freeze/EvictorIteratorI.cpp b/cpp/src/Freeze/EvictorIteratorI.cpp
index efc3cb26d37..87ef034053d 100644
--- a/cpp/src/Freeze/EvictorIteratorI.cpp
+++ b/cpp/src/Freeze/EvictorIteratorI.cpp
@@ -150,9 +150,13 @@ Freeze::EvictorIteratorI::nextBatch()
}
break;
}
- catch(const DbMemoryException& dx)
+ catch(const DbDeadlockException&)
{
- handleMemoryException(dx, _key, dbKey);
+ throw;
+ }
+ catch(const DbException& dx)
+ {
+ handleDbException(dx, _key, dbKey, __FILE__, __LINE__);
}
}
}
@@ -204,9 +208,7 @@ Freeze::EvictorIteratorI::nextBatch()
}
catch(const DbException& dx)
{
- DatabaseException ex(__FILE__, __LINE__);
- ex.message = dx.what();
- throw ex;
+ handleDbException(dx, __FILE__, __LINE__);
}
if(_batch.size() == 0)