IIRC it&#39;s due to dlopen holding the reference to the deleted file in memory until it&#39;s closed - it does not check with the filesystem again in the mean time.  Windows will prevent the lib from being deleted.  For *nix it&#39;s generally prevented by restricted access to the lib (and assuming people with higher privilege won&#39;t do such things). <div>
<br>
</div><div>Cheers,</div><div>yc</div><div><div><br><div class="gmail_quote">On Fri, Aug 6, 2010 at 8:22 AM, Noel Welsh <span dir="ltr">&lt;<a href="mailto:noelwelsh@gmail.com" target="_blank">noelwelsh@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
AFAIK it is unavoidable.<br>
<br>
N.<br>
<div><div></div><div><br>
On Fri, Aug 6, 2010 at 4:08 PM, John Clements &lt;<a href="mailto:clements@brinckerhoff.org" target="_blank">clements@brinckerhoff.org</a>&gt; wrote:<br>
&gt; It appears that the results of ffi-lib are persistent across evaluations. Specifically, if I use ffi-lib to load a library, then go to the filesystem and replace this library with garbage, subsequent evaluations still cheerfully use the version that I just destroyed.<br>


&gt;<br>
&gt; I&#39;m guessing that this behavior is unavoidably inherited from the OS (this is mac OS X).  If so, may I add a warning to the ffi-lib docs that states this? If this is not something unavoidable, of course, I&#39;d much rather just change it.<br>


&gt;<br>
&gt; John<br>
</div></div><div>_________________________________________________<br>
  For list-related administrative tasks:<br>
</div>  <a href="http://lists.racket-lang.org/listinfo/dev" target="_blank">http://lists.racket-lang.org/listinfo/dev</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Cheers,<br>yc<br><br>Taming the software dragon - <a href="http://dragonmaestro.com" target="_blank">http://dragonmaestro.com</a><br><br>
</div></div>