* Remove the terminate handler, which was only really needed because

of Berkeley DB (see r8632).
This commit is contained in:
Eelco Dolstra 2011-12-14 22:41:10 +00:00
parent 23bf700196
commit 893cac1402

View file

@ -90,23 +90,6 @@ static void setLogType(string lt)
} }
static void closeStore()
{
try {
throw;
} catch (std::exception & e) {
printMsg(lvlError,
format("FATAL: unexpected exception (closing store and aborting): %1%") % e.what());
}
try {
store.reset((StoreAPI *) 0);
} catch (...) {
ignoreException();
}
abort();
}
RemoveTempRoots::~RemoveTempRoots() RemoveTempRoots::~RemoveTempRoots()
{ {
removeTempRoots(); removeTempRoots();
@ -238,12 +221,6 @@ static void initAndRun(int argc, char * * argv)
exit. */ exit. */
RemoveTempRoots removeTempRoots __attribute__((unused)); RemoveTempRoots removeTempRoots __attribute__((unused));
/* Make sure that the database gets closed properly, even if
terminate() is called (which happens sometimes due to bugs in
destructor/exceptions interaction, but that needn't preclude a
clean shutdown of the database). */
std::set_terminate(closeStore);
run(remaining); run(remaining);
/* Close the Nix database. */ /* Close the Nix database. */