diff options
Diffstat (limited to 'src/gen_server2.erl')
-rw-r--r-- | src/gen_server2.erl | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gen_server2.erl b/src/gen_server2.erl index af234529..45e3848c 100644 --- a/src/gen_server2.erl +++ b/src/gen_server2.erl @@ -1104,15 +1104,17 @@ function_exported_or_default(Mod, Fun, Ar, Default) -> true -> case Ar of 2 -> fun (Msg, GS2State = #gs2_state { state = State }) -> case catch Mod:Fun(Msg, State) of - Res when is_integer(Res) -> Res; - Err -> + Res when is_integer(Res) -> + Res; + Err -> handle_common_termination(Err, Msg, GS2State) end end; 3 -> fun (Msg, From, GS2State = #gs2_state { state = State }) -> case catch Mod:Fun(Msg, From, State) of - Res when is_integer(Res) -> Res; - Err -> + Res when is_integer(Res) -> + Res; + Err -> handle_common_termination(Err, Msg, GS2State) end end |