<div class="gmail_quote">On Thu, Jul 19, 2012 at 1:50 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":2p7"> Is there a way to fix the reference loop problem in PetscObjectCompose()? (Since you have a magic fix for DMGetNamedGlobalVector() can we use that everywhere)<br></div></blockquote><div><br></div><div>Look at the ugly code in DMDestroy that takes care of the work vectors and named list. Note that the API maintains that these named vectors have reverse links. If you allow a mix, it gets messier. What about indirect loops?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":2p7">
<br>
   You have to admit that introducing in a bunch of places separate constructs for containment rather than using a single universal construct is not good software development.</div></blockquote></div><br><div>I agree, but I could not find an easy way.</div>