summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/trans.c
diff options
context:
space:
mode:
authorChantry Xavier <shiningxc@gmail.com>2008-01-12 21:28:22 +0100
committerDan McGee <dan@archlinux.org>2008-01-24 03:13:01 +0100
commit8240da6cb3ff95ad480efe3e1876104024398fae (patch)
tree124bf5ca94dbfa3aa8361fd20ec066b784770581 /lib/libalpm/trans.c
parentbd43a7f155cbd54d58fb45285e2eef1f51c88b00 (diff)
downloadpacman-8240da6cb3ff95ad480efe3e1876104024398fae.tar.gz
pacman-8240da6cb3ff95ad480efe3e1876104024398fae.tar.xz
libalpm/cache.c : don't duplicate packages in pkgcache.
Edit _alpm_db_add_pkgincache to not duplicate packages, because this is not needed, is slower, and uses more memory. This made the max memory usage during base reinstall go from 10.4MB to 9.7MB. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/trans.c')
-rw-r--r--lib/libalpm/trans.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index ecc40a0f..52dbe7a9 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -253,7 +253,8 @@ void _alpm_trans_free(pmtrans_t *trans)
FREELIST(trans->targets);
if(trans->type == PM_TRANS_TYPE_SYNC) {
alpm_list_free_inner(trans->packages, (alpm_list_fn_free)_alpm_sync_free);
- } else {
+ } else if (trans->type == PM_TRANS_TYPE_REMOVE ||
+ trans->type == PM_TRANS_TYPE_REMOVEUPGRADE) {
alpm_list_free_inner(trans->packages, (alpm_list_fn_free)_alpm_pkg_free);
}
alpm_list_free(trans->packages);