% супервизор
init([Opt]) ->
{ok, {{simple_one_for_one, 500, 15},
[{tt, {?MODULE, create_tt_fun, [Opt]},
permanent, 60000, worker, []}]}}
% воркер
init([]) ->
process_flag(trap_exit, true)
...
handle_info({'EXIT', Pid, normal}, StateName, StateData) ->
if
Pid =:= self() -> {stop, normal, StateData};
true -> {next_state, StateName, StateData}
end
;
handle_info({'EXIT', _Pid, Why}, _StateName, StateData) ->
{stop, {shutdown, Why}, StateData}
;