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 | 6d4166ed1a1e53d45638125d913554edd44e6cfd (patch) | |
| tree | e525114f691159785ae1c3c822ccd184e57bfeec /src | |
| parent | 78844b48ccb693c1c65e8bb0c40b5e40ff9897b8 (diff) | |
| download | rabbitmq-server-git-6d4166ed1a1e53d45638125d913554edd44e6cfd.tar.gz | |
Magic call handler to debug the state.
Diffstat (limited to 'src')
| -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 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, |
