diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2013-04-17 11:16:28 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2013-04-17 11:16:28 +0100 |
commit | ace238a2125fc42a64cd227eb9833db1a6785361 (patch) | |
tree | e525114f691159785ae1c3c822ccd184e57bfeec | |
parent | 09b1c58de56787f5834974fb84cb234af38ee4c0 (diff) | |
download | rabbitmq-server-ace238a2125fc42a64cd227eb9833db1a6785361.tar.gz |
Magic call handler to debug the state.
-rw-r--r-- | src/gen_server2.erl | 7 |
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, |