aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_websocket.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-03-13 10:40:14 +0100
committerLoïc Hoguin <[email protected]>2018-03-13 10:40:14 +0100
commitb9c8d86502a76cf3a72af30fc6aa0fc88ca7afff (patch)
treec4904971099917551801c26f22b6283c869e4937 /src/cowboy_websocket.erl
parenta89732e8e0fac2b2265007a11c05d4d0f6e6b1b0 (diff)
downloadcowboy-b9c8d86502a76cf3a72af30fc6aa0fc88ca7afff.tar.gz
cowboy-b9c8d86502a76cf3a72af30fc6aa0fc88ca7afff.tar.bz2
cowboy-b9c8d86502a76cf3a72af30fc6aa0fc88ca7afff.zip
Handle supervisor calls properly everywhere
Diffstat (limited to 'src/cowboy_websocket.erl')
-rw-r--r--src/cowboy_websocket.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cowboy_websocket.erl b/src/cowboy_websocket.erl
index ebb0fcd..6b59689 100644
--- a/src/cowboy_websocket.erl
+++ b/src/cowboy_websocket.erl
@@ -250,6 +250,10 @@ handler_loop(State=#state{socket=Socket, messages={OK, Closed, Error},
websocket_close(State, HandlerState, timeout);
{timeout, OlderTRef, ?MODULE} when is_reference(OlderTRef) ->
handler_loop(State, HandlerState, SoFar);
+ %% Calls from supervisor module.
+ {'$gen_call', From, Call} ->
+ cowboy_children:handle_supervisor_call(Call, From, [], ?MODULE),
+ handler_loop(State, HandlerState, SoFar);
Message ->
handler_call(State, HandlerState,
SoFar, websocket_info, Message, fun handler_before_loop/3)