diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2020-02-27 22:33:24 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2020-02-27 22:33:24 +0300 |
| commit | 8ce1f32351a1536f687eb7e797be6e53b283c730 (patch) | |
| tree | 566fb9a0d4d16d3543d5eea1a04c6542054352d8 /src | |
| parent | 9a01982f34ffd60d319a9cead263414e40feaf96 (diff) | |
| download | rabbitmq-server-git-8ce1f32351a1536f687eb7e797be6e53b283c730.tar.gz | |
Avoid using erlang:get_stacktrace/0 for improved OTP 23/24 compat
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_channel.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_node_monitor.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_reader.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_vhost_process.erl | 4 |
4 files changed, 8 insertions, 9 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 4fd218754d..1e5e42fdf2 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -647,8 +647,8 @@ handle_cast({method, Method, Content, Flow}, exit:Reason = #amqp_error{} -> MethodName = rabbit_misc:method_record_type(Method), handle_exception(Reason#amqp_error{method = MethodName}, State); - _:Reason -> - {stop, {Reason, erlang:get_stacktrace()}, State} + _:Reason:Stacktrace -> + {stop, {Reason, Stacktrace}, State} end; handle_cast(ready_for_close, diff --git a/src/rabbit_node_monitor.erl b/src/rabbit_node_monitor.erl index 5461e176e3..d7fc3201a6 100644 --- a/src/rabbit_node_monitor.erl +++ b/src/rabbit_node_monitor.erl @@ -748,10 +748,10 @@ register_outside_app_process(Fun, WaitForExistingProcess) -> do_run_outside_app_fun(Fun) -> try Fun() - catch _:E -> + catch _:E:Stacktrace -> rabbit_log:error( "rabbit_outside_app_process:~n~p~n~p~n", - [E, erlang:get_stacktrace()]) + [E, Stacktrace]) end. wait_for_cluster_recovery(Condition) -> diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index 093903605b..39977dca1f 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -1139,9 +1139,8 @@ handle_method0(MethodName, FieldsBin, throw({connection_closed_abruptly, State}); exit:#amqp_error{method = none} = Reason -> handle_exception(State, 0, Reason#amqp_error{method = MethodName}); - Type:Reason -> - Stack = erlang:get_stacktrace(), - handle_exception(State, 0, {Type, Reason, MethodName, Stack}) + Type:Reason:Stacktrace -> + handle_exception(State, 0, {Type, Reason, MethodName, Stacktrace}) end. handle_method0(#'connection.start_ok'{mechanism = Mechanism, diff --git a/src/rabbit_vhost_process.erl b/src/rabbit_vhost_process.erl index d697062267..6d29bcaf67 100644 --- a/src/rabbit_vhost_process.erl +++ b/src/rabbit_vhost_process.erl @@ -59,11 +59,11 @@ init([VHost]) -> timer:send_interval(Interval, check_vhost), true = erlang:garbage_collect(), {ok, VHost} - catch _:Reason -> + catch _:Reason:Stacktrace -> rabbit_amqqueue:mark_local_durable_queues_stopped(VHost), rabbit_log:error("Unable to recover vhost ~p data. Reason ~p~n" " Stacktrace ~p", - [VHost, Reason, erlang:get_stacktrace()]), + [VHost, Reason, Stacktrace]), {stop, Reason} end. |
