File 0739-logger-Don-t-crash-if-logger-table-is-not-available.patch of Package erlang
From 0e9e0aec6619ba7cac497a60471d362c48dd31ee Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Tue, 21 Jan 2020 17:17:55 +0100
Subject: [PATCH 3/4] logger: Don't crash if logger table is not available
---
lib/kernel/src/logger_config.erl | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/lib/kernel/src/logger_config.erl b/lib/kernel/src/logger_config.erl
index 5024d20cfe..af8ebfd4e9 100644
--- a/lib/kernel/src/logger_config.erl
+++ b/lib/kernel/src/logger_config.erl
@@ -41,7 +41,7 @@ delete(Tid,Id) ->
allow(Tid,Level,Module) ->
LevelInt = level_to_int(Level),
- case ets:lookup(Tid,Module) of
+ try ets:lookup(Tid,Module) of
[{Module,{ModLevel,cached}}] when is_integer(ModLevel),
LevelInt =< ModLevel ->
true;
@@ -53,11 +53,17 @@ allow(Tid,Level,Module) ->
allow(Tid,Level);
_ ->
false
+ catch error:badarg ->
+ true
end.
allow(Tid,Level) ->
- GlobalLevelInt = ets:lookup_element(Tid,?PRIMARY_KEY,2),
- level_to_int(Level) =< GlobalLevelInt.
+ try ets:lookup_element(Tid,?PRIMARY_KEY,2) of
+ GlobalLevelInt ->
+ level_to_int(Level) =< GlobalLevelInt
+ catch error:badarg ->
+ true
+ end.
exist(Tid,What) ->
ets:member(Tid,table_key(What)).
--
2.16.4