diff options
author | Björn Gustavsson <[email protected]> | 2018-04-16 12:59:43 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2018-04-16 13:30:06 +0200 |
commit | 1f4b02e1ebe8dd011feba5dc6916025e61ee7e67 (patch) | |
tree | 65b1198a2e9ea288d0e294fa32654ebf90090317 /lib/asn1/src | |
parent | 0cdf2e2e276984087f8807a19db0ed4606a3e097 (diff) | |
download | otp-1f4b02e1ebe8dd011feba5dc6916025e61ee7e67.tar.gz otp-1f4b02e1ebe8dd011feba5dc6916025e61ee7e67.tar.bz2 otp-1f4b02e1ebe8dd011feba5dc6916025e61ee7e67.zip |
asn1: Eliminate use of erlang:get_stacktrace/0
Also eliminate use of erlang:get_stacktrace/0 in code generated
by the ASN.1 compiler.
Diffstat (limited to 'lib/asn1/src')
-rw-r--r-- | lib/asn1/src/asn1ct.erl | 9 | ||||
-rw-r--r-- | lib/asn1/src/asn1ct_gen.erl | 3 |
2 files changed, 5 insertions, 7 deletions
diff --git a/lib/asn1/src/asn1ct.erl b/lib/asn1/src/asn1ct.erl index 81a2735a0d..e9e9f6eb42 100644 --- a/lib/asn1/src/asn1ct.erl +++ b/lib/asn1/src/asn1ct.erl @@ -292,8 +292,7 @@ run_passes_1([{pass,Name,Pass}|Passes], #st{run=Run}=St0) done -> ok catch - Class:Error -> - Stk = erlang:get_stacktrace(), + Class:Error:Stk -> io:format("Internal error: ~p:~p\n~p\n", [Class,Error,Stk]), {error,{internal_error,{Class,Error}}} @@ -2390,13 +2389,13 @@ in_process(Fun) -> receive {Pid, Result} -> Result; {Pid, Class, Reason, Stack} -> - ST = try throw(x) catch throw:x -> erlang:get_stacktrace() end, + ST = try throw(x) catch throw:x:Stk -> Stk end, erlang:raise(Class, Reason, Stack ++ ST) end. process(Parent, Fun) -> try Parent ! {self(), Fun()} - catch Class:Reason -> - Parent ! {self(), Class, Reason, erlang:get_stacktrace()} + catch Class:Reason:Stack -> + Parent ! {self(), Class, Reason, Stack} end. diff --git a/lib/asn1/src/asn1ct_gen.erl b/lib/asn1/src/asn1ct_gen.erl index efbc6d6380..ee039dfbab 100644 --- a/lib/asn1/src/asn1ct_gen.erl +++ b/lib/asn1/src/asn1ct_gen.erl @@ -815,8 +815,7 @@ result_line_1(Items) -> try_catch() -> [" catch",nl, - " Class:Exception when Class =:= error; Class =:= exit ->",nl, - " Stk = erlang:get_stacktrace(),",nl, + " Class:Exception:Stk when Class =:= error; Class =:= exit ->",nl, " case Exception of",nl, " {error,{asn1,Reason}} ->",nl, " {error,{asn1,{Reason,Stk}}};",nl, |