[erlang-questions] On upgrading

Joe Armstrong <>
Sat Mar 30 20:25:59 CET 2013


When Erlang was designed we had very little memory compared to today.
A few MBytes total compared to GBytes today. That's why there are only
two versions of a module.

Today I'd go for an arbitrary number and use GC to remove unused code.

Cheers

/Joe


On Sat, Mar 30, 2013 at 3:58 PM, Jonathan Schneider
<>wrote:

> I have a few questions about upgrading.
>
> soft_purge/1 must know at some level which processes are still running the
> old version of a module. Does this function have a friend that returns a
> list of identifiers of processes that are getting in the way (that would
> die in a subsequent module load) ?
>
> The problem case is where a process has called through the module that
> wants upgrading and can't easily be tickled to let go of it. Obviously one
> would try not to have code arranged like that.
>
> Would it be possible to support not one but arbitrary old versions of
> modules ? Admittedly I don't understand the VM's workings but it seems to
> be the cost would be memory taken up by beam code. Was this ever considered
> during Erlang's design or indeed for the future ?
>
> Thanks,
>
> Jon
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130330/37add64f/attachment.html>


More information about the erlang-questions mailing list