upgrade of supervisors child specifications

Martin Bjorklund mbj@REDACTED
Fri Apr 25 22:11:15 CEST 2003


Bengt Kleberg <eleberg@REDACTED> wrote:
> greetings,
> 
> how do i change (when doing an upgrade) the contents of a supervisors
> child specifications?

[...]

> it is fine to just point me to the right place in the documentation.

If you're using the release_handler and release upgrade scripts, it is
indeed possible.  See chapter 4.7.1.9 of the SASL User's guide
(http://www.erlang.org/doc/r9b/lib/sasl-1.9.4/doc/html/part_frame.html).
The code_change function in the supervisor will be called from the
relup interpreter.

If you don't use the release_handler, you can "roll your own" by
calling the functions in sys(3).  (you might want to look at the relup
interpreter in release_handler_1.erl for inspiration)

In your case, I think you'll have to first terminate the old child,
then update the supervisor (i.e. load the code and tell it to switch
to the new code), then start the new child.


/martin



More information about the erlang-questions mailing list