]> granicus.if.org Git - ejabberd/commit
Allow customizing the StateData in p1_fsm before error reporting.
authorPablo Polvorin <pablo.polvorin@process-one.net>
Tue, 30 Mar 2010 19:39:34 +0000 (16:39 -0300)
committerPablo Polvorin <pablo.polvorin@process-one.net>
Tue, 30 Mar 2010 19:39:34 +0000 (16:39 -0300)
commit41aa693896851a2a005a2487fca72d4a9e2aed3b
tree3ce27612a8b69d71a598387eef53804e7206264b
parent44b282474afada72698400cc23fd726b74cfa551
Allow customizing the StateData in p1_fsm before error reporting.

A new callback is introduced on the p1_fsm behaviour:

print_error/1

If the module implements this function, it will be invoked
in case of process crash with the current state data *before*
printing the error in the log. The function must return the
desired State to print.

It is used in ejabberd_c2s to prune the presence sets that
can be large. Instead, the state is changed to include only
the # of elements on each set.

Change inspired in comming changes to gen_server on OTP, and
http://github.com/erlyvideo/erlyvideo/commit/b01d15abc3189226dbf824db19db22da35fa33a0#diff-0
src/ejabberd_c2s.erl
src/p1_fsm.erl