diff options
author | Arnaud Cogoluègnes <acogoluegnes@gmail.com> | 2020-10-23 11:14:04 +0200 |
---|---|---|
committer | Arnaud Cogoluègnes <acogoluegnes@gmail.com> | 2020-10-23 11:14:04 +0200 |
commit | a2f05f5b75e5b0660db8d00ff1f503cec0af8f6a (patch) | |
tree | 80e43fa7cfe929baf3f69910bbed186f86c49197 | |
parent | bd191cf40d1b6b6643c570a820bcc997d03e24b5 (diff) | |
download | rabbitmq-server-git-a2f05f5b75e5b0660db8d00ff1f503cec0af8f6a.tar.gz |
Support shutdown call from management plugin
-rw-r--r-- | deps/rabbitmq_stream/src/rabbit_stream_reader.erl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/deps/rabbitmq_stream/src/rabbit_stream_reader.erl b/deps/rabbitmq_stream/src/rabbit_stream_reader.erl index b9807e1b08..9a465f5df2 100644 --- a/deps/rabbitmq_stream/src/rabbit_stream_reader.erl +++ b/deps/rabbitmq_stream/src/rabbit_stream_reader.erl @@ -396,6 +396,15 @@ listen_loop_post_auth(Transport, #stream_connection{socket = S, rabbit_event:notify(connection_created, Infos, Ref), Connection1 = rabbit_event:init_stats_timer(Connection, #stream_connection.stats_timer), listen_loop_post_auth(Transport, Connection1, State, Configuration); + {'$gen_call', From, {shutdown, Explanation}} -> + % likely closing call from the management plugin + gen_server:reply(From, ok), + rabbit_log:info("Forcing stream connection ~p closing: ~p~n", [self(), Explanation]), + demonitor_all_streams(Connection), + rabbit_networking:unregister_external_connection(self()), + notify_connection_closed(Connection, State), + close(Transport, S), + ok; {Closed, S} -> demonitor_all_streams(Connection), rabbit_networking:unregister_external_connection(self()), |