<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><pre style="white-space: pre-wrap;" class="">1. I have uploaded a new version of System.SecureFree that now performs *all* checks (including the check whether there are any global procedure variables in other modules that reference procedures of the module to be unloaded).</pre><pre style="white-space: pre-wrap;" class=""><br class=""></pre><pre style="white-space: pre-wrap;" class="">2. Writing NIL to all references (and type tags!) when unloading is forced via a /f option is in fact included, but only in the version that is integrated with the garbage collector. The reason is that if it were done outside the existing garbage collector (as is the case in the proof-of-concept version that is currently published), it would immediately break the garbage collector (because it references tags without checking whether they are NIL - see procedure Kernel.Scan for example). If I decide to include “safe module unloading” in the Oberon core, there would also be a /f option and, if selected, all references and tags to unloaded modules would be set to NIL. That’s the holy grail. It is fully implemented. Meanwhile, you can just use System.Free (which does not perform the checks).</pre><pre style="white-space: pre-wrap;" class=""><br class=""></pre><pre style="white-space: pre-wrap;" class="">Andreas</pre></pre><div class=""><br class=""></div><div class=""><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">———————————————————————</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">On Mon, 10 Oct 2016 12:51:39 +CEAR, Chris wrote:</pre></div><div class=""><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">><i class=""> </i>On Sat, 8 Oct 2016 19:28:55 +0200, Andreas Pirklbauer wrote:</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">><i class=""> > I’d welcome more input on this topic.. all I wanted to show is that 
</i>><i class=""> > it is *doable* (proof of concept) and that the effort is very small.
</i>><i class=""> >
</i>><i class=""> >Whether it *should* be done is another question. It remains open.
</i>
> Thanks for this great write-up. I think the effort is so small that it 
> should be included in the system. This would close the biggest hole in 
> the Oberon system.

> I would prefer to improve the forced unload function by writing NIL to 
> all references that would close the last hole (I hope) in the system 
> for the occurrence of dangling pointers.

> Greetings, chris</pre><div class=""><br class=""></div></div></body></html>