From 38c038b16835726c1273c57ed806d304498b3aa7 Mon Sep 17 00:00:00 2001 From: Siri Hansen Date: Thu, 29 Nov 2018 13:53:43 +0100 Subject: [logger] Unlink simple handler before terminating This avoids an unexpected EXIT message with reason normal beeing printed from logger_server when the simple handler is replaced. It will still be printed if it exists unexpectedly. --- lib/kernel/src/logger_simple_h.erl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/kernel') diff --git a/lib/kernel/src/logger_simple_h.erl b/lib/kernel/src/logger_simple_h.erl index 8b51dd8569..fe181722f3 100644 --- a/lib/kernel/src/logger_simple_h.erl +++ b/lib/kernel/src/logger_simple_h.erl @@ -50,7 +50,6 @@ removing_handler(#{id:=simple}) -> ok; Pid -> Ref = erlang:monitor(process,Pid), - unlink(Pid), Pid ! stop, receive {'DOWN',Ref,process,Pid,_} -> ok @@ -99,7 +98,11 @@ loop(Buffer) -> replay_buffer(Buffer); _ -> ok - end; + end, + %% Before stopping, we unlink the logger process to avoid + %% an unexpected EXIT message + unlink(whereis(logger)), + ok; {log,#{msg:=_,meta:=#{time:=_}}=Log} -> do_log(Log), loop(update_buffer(Buffer,Log)); -- cgit v1.2.3