summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2011-11-30 13:38:35 +0200
committerPanu Matilainen <pmatilai@redhat.com>2011-11-30 13:38:35 +0200
commit4abb1d8bc17460783f7e83a3ada9c465cf51fc34 (patch)
tree021a5a20f47d8fd024b8726a2e383cde657681c5 /lib
parent570526b4bace8a3b6e2e96c424adef1f930bc4a1 (diff)
downloadlibrpm-tizen-4abb1d8bc17460783f7e83a3ada9c465cf51fc34.tar.gz
librpm-tizen-4abb1d8bc17460783f7e83a3ada9c465cf51fc34.tar.bz2
librpm-tizen-4abb1d8bc17460783f7e83a3ada9c465cf51fc34.zip
Cache all but FAIL results from rpmdb header verification
- This makes a huge difference in performance if you have lots of unsigned packages (NOTFOUND verify result) or signed packages without key (NOKEY verify result) installed, as we previously kept checking the same headers over and over again.
Diffstat (limited to 'lib')
-rw-r--r--lib/rpmdb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
index 4fc247674..d3a5e2366 100644
--- a/lib/rpmdb.c
+++ b/lib/rpmdb.c
@@ -1720,7 +1720,7 @@ static rpmRC miVerifyHeader(rpmdbMatchIterator mi, const void *uh, size_t uhlen)
msg = _free(msg);
/* Mark header checked. */
- if (mi->mi_db && mi->mi_db->db_checked && rpmrc == RPMRC_OK) {
+ if (mi->mi_db && mi->mi_db->db_checked && rpmrc != RPMRC_FAIL) {
intHashAddEntry(mi->mi_db->db_checked, mi->mi_offset);
}
}