35 lines
1.0 KiB
Diff
35 lines
1.0 KiB
Diff
|
commit 0ee494ea672b9125171098184c702ccc3dd0163e
|
||
|
Author: Panu Matilainen <pmatilai@redhat.com>
|
||
|
Date: Fri Jan 21 15:20:01 2011 +0200
|
||
|
|
||
|
Don't try to remove existing environment when using private environment
|
||
|
(cherry picked from commit 88e63b050cfd3ba28cb44e75b3ac31fdf5fe9909)
|
||
|
|
||
|
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);
|