rewrite from lager
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

35 行
940 B

4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
  1. -module(crash_fsm).
  2. -behaviour(gen_fsm).
  3. -compile([{nowarn_deprecated_function, [{gen_fsm, start, 4}, {gen_fsm, sync_send_event, 2}]}]).
  4. -export([start/0, crash/0, state1/2]).
  5. %% gen_fsm callbacks
  6. -export([init/1, handle_event/3, handle_sync_event/4, handle_info/3,
  7. terminate/3, code_change/4]).
  8. -record(state, {}).
  9. start() ->
  10. gen_fsm:start({local, ?MODULE}, ?MODULE, [], []).
  11. crash() ->
  12. gen_fsm:sync_send_event(?MODULE, crash).
  13. %% gen_fsm callbacks
  14. init([]) ->
  15. {ok, state1, #state{}}.
  16. handle_event(_Event, StateName, State) ->
  17. {next_state, StateName, State}.
  18. handle_sync_event(_Event, _From, StateName, State) ->
  19. Reply = ok,
  20. {reply, Reply, StateName, State}.
  21. handle_info(_Info, StateName, State) ->
  22. {next_state, StateName, State}.
  23. terminate(_Reason, _StateName, _State) ->
  24. ok.
  25. code_change(_OldVersion, StateName, State, _Extra) ->
  26. {ok, StateName, State}.
  27. state1(_Event, S) -> {next_state, state1, S}.