Skip to content

Commit ba56cdc

Browse files
committed
get around get_stacktrace/0
1 parent 8d92ff3 commit ba56cdc

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/elli_ws_request_adapter.erl

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,13 @@
6666

6767
-type req() :: #req_adapter{}.
6868

69+
-ifdef(OTP_RELEASE). %% this implies 21 or higher
70+
-define(EXCEPTION(Class, Reason, Stacktrace), Class:Reason:Stacktrace).
71+
-define(GET_STACK(Stacktrace), Stacktrace).
72+
-else.
73+
-define(EXCEPTION(Class, Reason, _), Class:Reason).
74+
-define(GET_STACK(_), erlang:get_stacktrace()).
75+
-endif.
6976

7077
%%
7178
%%
@@ -233,10 +240,9 @@ websocket_handler_handle_event(#req_adapter{req=Req}, Handler, Name, EventArgs,
233240
try
234241
Handler:websocket_handle_event(Name, [Req|EventArgs], HandlerOpts)
235242
catch
236-
EvClass:EvError ->
243+
?EXCEPTION(EvClass, EvError, ST) ->
237244
error_logger:error_msg("~p:handle_event/3 crashed ~p:~p~n~p",
238-
[Handler, EvClass, EvError,
239-
erlang:get_stacktrace()])
245+
[Handler, EvClass, EvError, ?GET_STACK(ST)])
240246
end.
241247

242248
%% @doc Atoms used to identify messages in {active, once | true} mode.

0 commit comments

Comments
 (0)