[erlang-questions] Dependent module load before supervisor update

Ameretat Reith <>
Fri Jan 8 09:18:11 CET 2016


I have appup instructions like this:
`
[
  {load_module, child_sup},
  {update, parent_sup, supervisor},
  {update, child_sup, supervisor}
]

I'm intending to update two supervisor states but one of them
(parent_sup) needs upgraded code (a function changed) from child_sup
module (child_spec:spec) during its init invocation.

So I want upgrade child_sup function interfaces before supervisor
upgrade of parent_sup and postpone child_spec init call (supervisor
upgrade) to after parent_sup fully upgraded.

Now the problem is, in above instructions, I cannot use `load_module,
child_sup` or `load, {child_sup,...,..,}` getting error "Multiply
defined module: child_sup" and If without doing this, parent_sup won't
upgrade since It depend on upgraded interface functions from child_sup.

So, Is there a way to control supervisor state upgrade and its module
loading during release upgrade?


More information about the erlang-questions mailing list