mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-24 16:23:40 +01:00
Catch exception that may happen when sending data over websocket
This fixes #1667
This commit is contained in:
parent
bb39ecbc08
commit
70606d7f1a
@ -81,8 +81,14 @@ start_link(WS) ->
|
|||||||
gen_fsm:start_link(?MODULE, [WS], ?FSMOPTS).
|
gen_fsm:start_link(?MODULE, [WS], ?FSMOPTS).
|
||||||
|
|
||||||
send_xml({http_ws, FsmRef, _IP}, Packet) ->
|
send_xml({http_ws, FsmRef, _IP}, Packet) ->
|
||||||
gen_fsm:sync_send_all_state_event(FsmRef,
|
case catch gen_fsm:sync_send_all_state_event(FsmRef,
|
||||||
{send_xml, Packet}).
|
{send_xml, Packet},
|
||||||
|
15000)
|
||||||
|
of
|
||||||
|
{'EXIT', {timeout, _}} -> {error, timeout};
|
||||||
|
{'EXIT', _} -> {error, einval};
|
||||||
|
Res -> Res
|
||||||
|
end.
|
||||||
|
|
||||||
setopts({http_ws, FsmRef, _IP}, Opts) ->
|
setopts({http_ws, FsmRef, _IP}, Opts) ->
|
||||||
case lists:member({active, once}, Opts) of
|
case lists:member({active, once}, Opts) of
|
||||||
|
Loading…
Reference in New Issue
Block a user