From 88e63b050cfd3ba28cb44e75b3ac31fdf5fe9909 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Fri, 21 Jan 2011 15:20:01 +0200 Subject: [PATCH] Don't try to remove existing environment when using private environment --- lib/backend/db3.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/backend/db3.c b/lib/backend/db3.c index 365cd13..da1b602 100644 --- a/lib/backend/db3.c +++ b/lib/backend/db3.c @@ -51,6 +51,7 @@ static int db_fini(rpmdb rdb, const char * dbhome) { DB_ENV * dbenv = rdb->db_dbenv; int rc; + uint32_t eflags = 0; if (dbenv == NULL) return 0; @@ -60,12 +61,13 @@ static int db_fini(rpmdb rdb, const char * dbhome) return 0; } + (void) dbenv->get_open_flags(dbenv, &eflags); rc = dbenv->close(dbenv, 0); rc = dbapi_err(rdb, "dbenv->close", rc, _debug); rpmlog(RPMLOG_DEBUG, "closed db environment %s\n", dbhome); - if (rdb->db_remove_env) { + if (!(eflags & DB_PRIVATE) && rdb->db_remove_env) { int xx; xx = db_env_create(&dbenv, 0); -- 2.7.4