Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

34 wiersze
859 B

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