diff options
| -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 af23452902..45e3848cb0 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 |
