[erlang-questions] code_change for gen_fsm: how to actually handle a state change

Daniel Dormont <>
Mon Nov 21 16:51:20 CET 2011


Hello all,

I have a gen_fsm module and would like to take advantage of hot code
deploy. The module uses a record (called "state") and the new version
of the module includes some new fields in the record. What is a nice
clean way to code the my_module:code_change function to deal with
this? Are there any good examples out there on the web?

Note: for my purposes it would be sufficient to detect that the state
record is out of date, and terminate cleanly. BUT the correct
functionality of the terminate/3 function in my module depends on the
state data, and I would need it to complete cleanly and not crash in
this instance because there are other processes that depend on this
one and need to be notified properly of its exit. The issue is that
the state itself contains the data of which processes those are.

What's the best approach here?

thanks,
Dan



More information about the erlang-questions mailing list