diff options
| -rw-r--r-- | src/rabbit.erl | 1 | ||||
| -rw-r--r-- | src/rabbit_node_monitor.erl | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index c6661d390a..9a938d1067 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -225,6 +225,7 @@ start(normal, []) -> case erts_version_check() of ok -> {ok, SupPid} = rabbit_sup:start_link(), + register(rabbit, self()), print_banner(), [ok = run_boot_step(Step) || Step <- boot_steps()], diff --git a/src/rabbit_node_monitor.erl b/src/rabbit_node_monitor.erl index e4bc1cdc5a..bce5ec12a1 100644 --- a/src/rabbit_node_monitor.erl +++ b/src/rabbit_node_monitor.erl @@ -44,6 +44,8 @@ handle_cast(_Msg, State) -> handle_info({nodeup, Node}, State) -> rabbit_log:info("node ~p up", [Node]), + erlang:monitor(process, {rabbit, Node}), + io:format("monitored 'rabbit' on ~p~n", [Node]), {noreply, State}; handle_info({nodedown, Node}, State) -> rabbit_log:info("node ~p down", [Node]), @@ -53,6 +55,9 @@ handle_info({nodedown, Node}, State) -> ok = rabbit_networking:on_node_down(Node), ok = rabbit_amqqueue:on_node_down(Node), {noreply, State}; +handle_info({'DOWN', _MRef, process, {rabbit, Node}, _Reason}, State) -> + io:format("node ~p lost 'rabbit'~n", [Node]), + {noreply, State}; handle_info(_Info, State) -> {noreply, State}. |
