From: Michael Tremer Date: Sun, 14 Jan 2018 17:07:21 +0000 (+0100) Subject: libpakfire: Log allocation and release of refcounted objects X-Git-Tag: 0.9.28~1285^2~1207 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6cdfb9dda7ad437932210707520a114a8dc2160a;p=pakfire.git libpakfire: Log allocation and release of refcounted objects Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/package.c b/src/libpakfire/package.c index 4fbda0bfd..742a75e27 100644 --- a/src/libpakfire/package.c +++ b/src/libpakfire/package.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -64,6 +65,8 @@ static void pakfire_package_add_self_provides(PakfirePool pool, PakfirePackage p PAKFIRE_EXPORT PakfirePackage pakfire_package_create(PakfirePool pool, Id id) { PakfirePackage pkg = pakfire_calloc(1, sizeof(*pkg)); if (pkg) { + DEBUG("Allocated Package at %p\n", pkg); + pkg->pool = pakfire_pool_ref(pool); pkg->id = id; @@ -90,6 +93,8 @@ static void pakfire_package_free(PakfirePackage pkg) { pakfire_pool_unref(pkg->pool); pakfire_package_filelist_remove(pkg); pakfire_free(pkg); + + DEBUG("Released Package at %p\n", pkg); } PAKFIRE_EXPORT PakfirePackage pakfire_package_ref(PakfirePackage pkg) { diff --git a/src/libpakfire/pool.c b/src/libpakfire/pool.c index f05f7d809..a5e85a396 100644 --- a/src/libpakfire/pool.c +++ b/src/libpakfire/pool.c @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -48,6 +49,7 @@ struct _PakfirePool { PAKFIRE_EXPORT PakfirePool pakfire_pool_create(Pakfire pakfire) { PakfirePool pool = pakfire_calloc(1, sizeof(*pool)); if (pool) { + DEBUG("Allocated Pool at %p\n", pool); pool->nrefs = 1; // Initialize pool @@ -82,6 +84,8 @@ static void pakfire_pool_free(PakfirePool pool) { pool_free(pool->pool); pakfire_free(pool); + + DEBUG("Released Pool at %p\n", pool); } PAKFIRE_EXPORT PakfirePool pakfire_pool_ref(PakfirePool pool) { diff --git a/src/libpakfire/transaction.c b/src/libpakfire/transaction.c index badbf3112..fb9d1a3e3 100644 --- a/src/libpakfire/transaction.c +++ b/src/libpakfire/transaction.c @@ -42,18 +42,19 @@ struct _PakfireTransaction { PAKFIRE_EXPORT PakfireTransaction pakfire_transaction_create(PakfirePool pool, Transaction* trans) { PakfireTransaction transaction = pakfire_calloc(1, sizeof(*transaction)); - if (!transaction) - return NULL; - - transaction->pool = pakfire_pool_ref(pool); - transaction->nrefs = 1; - - // Clone the transaction, so we get independent from what ever called this. - if (trans) { - transaction->transaction = transaction_create_clone(trans); - transaction_order(transaction->transaction, 0); - } else { - transaction->transaction = transaction_create(trans->pool); + if (transaction) { + DEBUG("Allocated Transaction at %p\n", transaction); + transaction->nrefs = 1; + + transaction->pool = pakfire_pool_ref(pool); + + // Clone the transaction, so we get independent from what ever called this. + if (trans) { + transaction->transaction = transaction_create_clone(trans); + transaction_order(transaction->transaction, 0); + } else { + transaction->transaction = transaction_create(trans->pool); + } } return transaction; @@ -72,6 +73,8 @@ void pakfire_transaction_free(PakfireTransaction transaction) { transaction_free(transaction->transaction); pakfire_free(transaction); + + DEBUG("Released Transaction at %p\n", transaction); } PAKFIRE_EXPORT PakfireTransaction pakfire_transaction_unref(PakfireTransaction transaction) {