commit 4f7fe5e668e9cd8ba62e700f6f3fdaf2256306d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date: Mon Feb 21 10:55:02 2011 +0200
Fix db cursor double-open, causing yum to hang on reinstall (RhBug:678644)
- A refactoring error in commit 475391dc581bf5ba72b6d59d16d875505b45bd51
causes us to open a double cursor on the Package db. This doesn't
seem to affect much in rpm context, but Yum is being naughty and holding
two different handles to the same db simultaneously, which causes
to deadlock on trying to lock the same record twice from two different
handles .. or something to that effect.
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
index dc6d7a7..eb7a49d 100644
--- a/lib/rpmdb.c
+++ b/lib/rpmdb.c
@@ -2331,7 +2331,6 @@ static int updatePackages(dbiIndex dbi, unsigned int hdrNum, DBT *hdr)
DBT data;
memset(&data, 0, sizeof(data));
- xx = dbiCopen(dbi, &dbcursor, DB_WRITECURSOR);
rc = dbiGet(dbi, dbcursor, &key, &data, DB_SET);
if (rc) {
rpmlog(RPMLOG_ERR,