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
commitace238a2125fc42a64cd227eb9833db1a6785361 (patch)
treee525114f691159785ae1c3c822ccd184e57bfeec
parent09b1c58de56787f5834974fb84cb234af38ee4c0 (diff)
downloadrabbitmq-server-ace238a2125fc42a64cd227eb9833db1a6785361.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 9109febd..84536cb6 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,