From 1fb616dac50969cef3f260ec9d899f2f980fca1d Mon Sep 17 00:00:00 2001 From: Gabor Liptak Date: Sat, 29 Jan 2011 15:52:39 -0500 Subject: Update Handling Other Messages section in gen_server, gen_fsm, gen_events overviews --- system/doc/design_principles/events.xml | 17 +++++++++++++++++ system/doc/design_principles/fsm.xml | 5 +++++ system/doc/design_principles/gen_server_concepts.xml | 5 +++++ 3 files changed, 27 insertions(+) (limited to 'system') diff --git a/system/doc/design_principles/events.xml b/system/doc/design_principles/events.xml index 5579f1e459..fab9e8305e 100644 --- a/system/doc/design_principles/events.xml +++ b/system/doc/design_principles/events.xml @@ -217,5 +217,22 @@ terminate(_Args, Fd) -> ok +
+ Handling Other Messages +

If the gen_event should be able to receive other messages than + events, the callback function handle_info(Info, StateName, StateData) + must be implemented to handle them. Examples of + other messages are exit messages, if the gen_event is linked to + other processes (than the supervisor) and trapping exit signals.

+ +handle_info({'EXIT', Pid, Reason}, State) -> + ..code to handle exits here.. + {ok, NewState}. +

The code_change method also has to be implemented.

+ +code_change(OldVsn, State, Extra) -> + ..code to convert state (and more) during code change + {ok, NewState} +
diff --git a/system/doc/design_principles/fsm.xml b/system/doc/design_principles/fsm.xml index 7cdd62057b..c3e9027274 100644 --- a/system/doc/design_principles/fsm.xml +++ b/system/doc/design_principles/fsm.xml @@ -308,6 +308,11 @@ terminate(normal, _StateName, _StateData) -> handle_info({'EXIT', Pid, Reason}, StateName, StateData) -> ..code to handle exits here.. {next_state, StateName1, StateData1}. +

The code_change method also has to be implemented.

+ +code_change(OldVsn, StateName, StateData, Extra) -> + ..code to convert state (and more) during code change + {ok, NextStateName, NewStateData} diff --git a/system/doc/design_principles/gen_server_concepts.xml b/system/doc/design_principles/gen_server_concepts.xml index 8131c47a69..231333da0e 100644 --- a/system/doc/design_principles/gen_server_concepts.xml +++ b/system/doc/design_principles/gen_server_concepts.xml @@ -264,6 +264,11 @@ terminate(normal, State) -> handle_info({'EXIT', Pid, Reason}, State) -> ..code to handle exits here.. {noreply, State1}. +

The code_change method also has to be implemented.

+ +code_change(OldVsn, State, Extra) -> + ..code to convert state (and more) during code change + {ok, NewState}. -- cgit v1.2.3