mirror of
https://github.com/processone/ejabberd.git
synced 2024-10-05 14:51:05 +02:00
Check a node of a receiver, not a monitor.
This should fix the previous commit (EJABS-1798)
This commit is contained in:
parent
438dc57def
commit
2948cddebf
@ -1747,11 +1747,12 @@ handle_info({migrate, Node}, StateName, StateData) ->
|
|||||||
fsm_next_state(StateName, StateData)
|
fsm_next_state(StateName, StateData)
|
||||||
end;
|
end;
|
||||||
handle_info({migrate_shutdown, Node, After}, StateName, StateData) ->
|
handle_info({migrate_shutdown, Node, After}, StateName, StateData) ->
|
||||||
if StateData#state.sockmod == ejabberd_frontend_socket orelse
|
case StateData#state.sockmod == ejabberd_frontend_socket orelse
|
||||||
StateData#state.xml_socket == true orelse
|
StateData#state.xml_socket == true orelse
|
||||||
node(StateData#state.socket_monitor) /= node() ->
|
is_remote_receiver(StateData#state.socket) of
|
||||||
migrate(self(), Node, After);
|
|
||||||
true ->
|
true ->
|
||||||
|
migrate(self(), Node, After);
|
||||||
|
false ->
|
||||||
self() ! system_shutdown
|
self() ! system_shutdown
|
||||||
end,
|
end,
|
||||||
fsm_next_state(StateName, StateData);
|
fsm_next_state(StateName, StateData);
|
||||||
@ -3609,3 +3610,8 @@ get_jid_from_opts(Opts) ->
|
|||||||
_ ->
|
_ ->
|
||||||
error
|
error
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
is_remote_receiver(#socket_state{receiver = Pid}) when is_pid(Pid) ->
|
||||||
|
node(Pid) /= node();
|
||||||
|
is_remote_receiver(_) ->
|
||||||
|
false.
|
||||||
|
Loading…
Reference in New Issue
Block a user