From 6cc162583df2e476db6464a58c96318e3063bd19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 10 Nov 2017 14:59:11 +0000 Subject: Keep the state returned by the tracer callback It was mistakenly discarded. --- src/cowboy_tracer_h.erl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/cowboy_tracer_h.erl b/src/cowboy_tracer_h.erl index b69faf4..b527f7e 100644 --- a/src/cowboy_tracer_h.erl +++ b/src/cowboy_tracer_h.erl @@ -144,19 +144,19 @@ tracer_process(StreamID, Req=#{pid := Parent}, Opts=#{tracer_callback := Fun}) - State = Fun(init, {StreamID, Req, Opts}), tracer_loop(Parent, Fun, State). -tracer_loop(Parent, Fun, State) -> +tracer_loop(Parent, Fun, State0) -> receive Msg when element(1, Msg) =:= trace_ts -> - Fun(Msg, State), + State = Fun(Msg, State0), tracer_loop(Parent, Fun, State); {'EXIT', Parent, Reason} -> - tracer_terminate(Reason, Fun, State); + tracer_terminate(Reason, Fun, State0); {system, From, Request} -> - sys:handle_system_msg(Request, From, Parent, ?MODULE, [], {Fun, State}); + sys:handle_system_msg(Request, From, Parent, ?MODULE, [], {Fun, State0}); Msg -> error_logger:error_msg("~p: Tracer process received stray message ~9999p~n", [?MODULE, Msg]), - tracer_loop(Parent, Fun, State) + tracer_loop(Parent, Fun, State0) end. tracer_terminate(Reason, Fun, State) -> -- cgit v1.2.3