mirror of
https://github.com/processone/ejabberd.git
synced 2024-10-17 15:29:23 +02:00
fixes annoying crash with controller change
This commit is contained in:
parent
f81473fc65
commit
350af319bf
@ -104,12 +104,22 @@ become_controller(Pid, C2SPid) ->
|
||||
gen_server:call(Pid, {become_controller, C2SPid}).
|
||||
|
||||
change_controller(Pid, C2SPid) ->
|
||||
gen_server:call(Pid, {change_controller, C2SPid}).
|
||||
case catch gen_server:call(Pid, {change_controller, C2SPid}) of
|
||||
{'EXIT', _} ->
|
||||
{error, einval};
|
||||
Res ->
|
||||
Res
|
||||
end.
|
||||
|
||||
setopts(Pid, Opts) ->
|
||||
case lists:member({active, false}, Opts) of
|
||||
true ->
|
||||
gen_server:call(Pid, deactivate_socket);
|
||||
case catch gen_server:call(Pid, deactivate_socket) of
|
||||
{'EXIT', _} ->
|
||||
{error, einval};
|
||||
Res ->
|
||||
Res
|
||||
end;
|
||||
false ->
|
||||
ok
|
||||
end.
|
||||
|
@ -153,8 +153,13 @@ setopts({http_bind, FsmRef, _IP}, Opts) ->
|
||||
_ ->
|
||||
case lists:member({active, false}, Opts) of
|
||||
true ->
|
||||
gen_fsm:sync_send_all_state_event(
|
||||
FsmRef, deactivate_socket);
|
||||
case catch gen_fsm:sync_send_all_state_event(
|
||||
FsmRef, deactivate_socket) of
|
||||
{'EXIT', _} ->
|
||||
{error, einval};
|
||||
Res ->
|
||||
Res
|
||||
end;
|
||||
_ ->
|
||||
ok
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user