summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-04-17 11:16:28 +0100
committerSimon MacMullen <simon@rabbitmq.com>2013-04-17 11:16:28 +0100
commit6d4166ed1a1e53d45638125d913554edd44e6cfd (patch)
treee525114f691159785ae1c3c822ccd184e57bfeec
parent78844b48ccb693c1c65e8bb0c40b5e40ff9897b8 (diff)
downloadrabbitmq-server-git-6d4166ed1a1e53d45638125d913554edd44e6cfd.tar.gz
Magic call handler to debug the state.
-rw-r--r--src/gen_server2.erl7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gen_server2.erl b/src/gen_server2.erl
index 9109febdba..84536cb619 100644
--- a/src/gen_server2.erl
+++ b/src/gen_server2.erl
@@ -883,6 +883,13 @@ common_become(_Name, _Mod, _NState, [] = _Debug) ->
common_become(Name, Mod, NState, Debug) ->
sys:handle_debug(Debug, fun print_event/3, Name, {become, Mod, NState}).
+handle_msg({'$gen_call', From, {debug_state, Fun}},
+ GS2State = #gs2_state{state = State,
+ name = Name,
+ debug = Debug}) ->
+ Debug1 = common_reply(Name, From, catch Fun(State), State, Debug),
+ loop(GS2State #gs2_state { state = State,
+ debug = Debug1 });
handle_msg({'$gen_call', From, Msg}, GS2State = #gs2_state { mod = Mod,
state = State,
name = Name,