forked from ariadne/pkgconf
pkg: add trace log when breaking a circular reference
parent
59a56dfa64
commit
662668d082
|
@ -1470,12 +1470,15 @@ pkgconf_pkg_walk_list(pkgconf_client_t *client,
|
||||||
if (pkgdep->serial == client->serial)
|
if (pkgdep->serial == client->serial)
|
||||||
{
|
{
|
||||||
pkgdep->hits++;
|
pkgdep->hits++;
|
||||||
|
|
||||||
/* In this case we have a circular reference.
|
/* In this case we have a circular reference.
|
||||||
* We break that by deleteing the circular node from the
|
* We break that by deleteing the circular node from the
|
||||||
* the list, so that we dont create a situation where
|
* the list, so that we dont create a situation where
|
||||||
* memory is leaked due to circular ownership.
|
* memory is leaked due to circular ownership.
|
||||||
* i.e: A owns B owns A
|
* i.e: A owns B owns A
|
||||||
*/
|
*/
|
||||||
|
PKGCONF_TRACE(client, "breaking circular reference: %s", depnode->package);
|
||||||
|
|
||||||
pkgconf_node_delete(node, deplist);
|
pkgconf_node_delete(node, deplist);
|
||||||
pkgconf_dependency_unref(client, depnode);
|
pkgconf_dependency_unref(client, depnode);
|
||||||
goto next;
|
goto next;
|
||||||
|
|
Loading…
Reference in New Issue