summaryrefslogtreecommitdiff
path: root/src/ejabberd_websocket.erl
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-05-09 22:06:23 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-05-09 22:06:23 +0300
commit4b6f1195c690e7532a11342921abdab3d9c9de6b (patch)
treee1581d7aa502a501bcc1b531cd70f39737df0bae /src/ejabberd_websocket.erl
parentInitial Docker environment to run ejabberd test suite (diff)
Handle TCP errors in websockets
Diffstat (limited to 'src/ejabberd_websocket.erl')
-rw-r--r--src/ejabberd_websocket.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ejabberd_websocket.erl b/src/ejabberd_websocket.erl
index e954b42c..2dde8add 100644
--- a/src/ejabberd_websocket.erl
+++ b/src/ejabberd_websocket.erl
@@ -203,6 +203,9 @@ ws_loop(FrameInfo, Socket, WsHandleLoopPid, SocketMode) ->
{tcp_closed, _Socket} ->
?DEBUG("tcp connection was closed, exit", []),
websocket_close(Socket, WsHandleLoopPid, SocketMode, 0);
+ {tcp_error, Socket, Reason} ->
+ ?DEBUG("tcp connection error: ~s", [inet:format_error(Reason)]),
+ websocket_close(Socket, WsHandleLoopPid, SocketMode, 0);
{'DOWN', Ref, process, WsHandleLoopPid, Reason} ->
Code = case Reason of
normal ->