aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia/src/mnesia_locker.erl
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2018-02-06 14:37:12 +0100
committerHans Bolinder <[email protected]>2018-02-06 14:40:53 +0100
commitc53939321c81330d802b7426592a12748fb9429d (patch)
treecd2093a822aee5c3a35a237e567c04bfd17c78bd /lib/mnesia/src/mnesia_locker.erl
parent1040c3c48099e5ee6b65cb2af5e8bf446764fef3 (diff)
downloadotp-c53939321c81330d802b7426592a12748fb9429d.tar.gz
otp-c53939321c81330d802b7426592a12748fb9429d.tar.bz2
otp-c53939321c81330d802b7426592a12748fb9429d.zip
mnesia: Do not call erlang:get_stacktrace() (cont)
Take care of the call of erlang:get_stacktrace() in module mnesia_lib.
Diffstat (limited to 'lib/mnesia/src/mnesia_locker.erl')
-rw-r--r--lib/mnesia/src/mnesia_locker.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/mnesia/src/mnesia_locker.erl b/lib/mnesia/src/mnesia_locker.erl
index 073b48abc0..710bf38cb5 100644
--- a/lib/mnesia/src/mnesia_locker.erl
+++ b/lib/mnesia/src/mnesia_locker.erl
@@ -97,10 +97,11 @@ init(Parent) ->
end,
loop(#state{supervisor = Parent}).
+%% Local function in order to avoid external function call
val(Var) ->
- case ?catch_val(Var) of
- {'EXIT', _} -> mnesia_lib:other_val(Var);
- _VaLuE_ -> _VaLuE_
+ case ?catch_val_and_stack(Var) of
+ {'EXIT', Stacktrace} -> mnesia_lib:other_val(Var, Stacktrace);
+ Value -> Value
end.
reply(From, R) ->