[erlang-questions] On upgrading
Sat Mar 30 15:58:54 CET 2013
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 ?
More information about the erlang-questions