+ if (ret == DB_RUNRECOVERY) {
+ lprintf(CTDL_ALERT, "dbenv->open: %s\n", db_strerror(ret));
+ lprintf(CTDL_ALERT, "Attempting recovery...\n");
+ flags |= DB_RECOVER;
+ ret = dbenv->open(dbenv, ctdl_data_dir, flags, 0);
+ }
+ if (ret == DB_RUNRECOVERY) {
+ lprintf(CTDL_ALERT, "dbenv->open: %s\n", db_strerror(ret));
+ lprintf(CTDL_ALERT, "Attempting catastrophic recovery...\n");
+ flags &= ~DB_RECOVER;
+ flags |= DB_RECOVER_FATAL;
+ ret = dbenv->open(dbenv, ctdl_data_dir, flags, 0);
+ }