From a99b0a2a570e7429b05f3ce424880744ee3a8814 Mon Sep 17 00:00:00 2001 From: Hans Bolinder Date: Wed, 17 May 2017 16:16:58 +0200 Subject: kernel: Introcude error_logger:get_format_depth() --- lib/stdlib/src/proc_lib.erl | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'lib/stdlib/src/proc_lib.erl') diff --git a/lib/stdlib/src/proc_lib.erl b/lib/stdlib/src/proc_lib.erl index b2856be805..3fa54cd0d5 100644 --- a/lib/stdlib/src/proc_lib.erl +++ b/lib/stdlib/src/proc_lib.erl @@ -551,26 +551,19 @@ get_messages(Pid) -> {messages, error_logger:limit_term(Messages)}. get_process_messages(Pid) -> - case get_depth() of - unlimited -> + Depth = error_logger:get_format_depth(), + case Pid =/= self() orelse Depth =:= unlimited of + true -> {messages, Messages} = get_process_info(Pid, messages), Messages; - Depth -> + false -> %% If there are more messages than Depth, garbage %% collection can sometimes be avoided by collecting just - %% enough messages for the output. It is assumed the + %% enough messages for the crash report. It is assumed the %% process is about to die anyway. receive_messages(Depth) end. -get_depth() -> - case application:get_env(kernel, error_logger_format_depth) of - {ok, Depth} when is_integer(Depth) -> - max(10, Depth); - undefined -> - unlimited - end. - receive_messages(0) -> []; receive_messages(N) -> receive @@ -643,7 +636,8 @@ make_neighbour_report(Pid) -> get_process_info(Pid, status), get_process_info(Pid, heap_size), get_process_info(Pid, stack_size), - get_process_info(Pid, reductions) + get_process_info(Pid, reductions), + get_process_info(Pid, current_stacktrace) ]. get_initial_call(Pid) -> -- cgit v1.2.3