<p dir="ltr">Hi Matthew,</p>
<p dir="ltr">I don't see the patch. Did you forget to attach it?</p>
<p dir="ltr">Dan</p>
<div class="gmail_quote">On Jun 18, 2016 6:31 AM, "Matthew Hanna (BLOOMBERG/ 731 LEX)" <<a href="mailto:mhanna21@bloomberg.net">mhanna21@bloomberg.net</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Arial;white-space:pre-wrap;font-size:small;color:rgb(0,0,0)">In practice, for library sets with a high degree of dependency, iteration over the tree with revisiting results in significant slow down at best and pkg-config failure due to memory exhaustion at worst.  This patch replaces the 'in_requires_chain' flag that halted circular dependencies with a hash table that marks visited package nodes.  The resulting algorithm is equivalent to a topological sort.  Although a boolean flag on each node could be used to implement the algorithm, resetting the flag to false can only be done after the algorithm is complete, creating a bit of extra bookkeeping.  Instead, I chose to use a new hash table to record the visits, reducing the bookkeeping to a call to 'g_hash_table_destroy'.</div></div><br>_______________________________________________<br>
pkg-config mailing list<br>
<a href="mailto:pkg-config@lists.freedesktop.org">pkg-config@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/pkg-config" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/pkg-config</a><br>
<br></blockquote></div>