From b9c8d86502a76cf3a72af30fc6aa0fc88ca7afff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 13 Mar 2018 10:40:14 +0100 Subject: Handle supervisor calls properly everywhere --- src/cowboy_websocket.erl | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/cowboy_websocket.erl') 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) -- cgit v1.2.3