Blob Blame History Raw
From: Peter Lemenkov <lemenkov@redhat.com>
Date: Fri, 15 Jul 2016 16:01:08 +0200
Subject: [PATCH] Use proto_dist from command line

Use protocol distribution value from command line when provided instead
of always using default value (inet_tcp) when trying to check epmd.

If provided more than one protocol distribution types, then use the
first one.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>

diff --git a/deps/rabbit_common/src/rabbit_nodes_common.erl b/deps/rabbit_common/src/rabbit_nodes_common.erl
index d6ac264d16..ec80f4494a 100644
--- a/deps/rabbit_common/src/rabbit_nodes_common.erl
+++ b/deps/rabbit_common/src/rabbit_nodes_common.erl
@@ -109,10 +109,15 @@ epmd_port() ->
 ensure_epmd() ->
     Exe = rabbit_runtime:get_erl_path(),
     ID = rabbit_misc:random(1000000000),
+    ProtoDist = case init:get_argument(proto_dist) of
+            {ok, [Proto | _Protos]} -> Proto;
+            error -> "inet_tcp"
+    end,
     Port = open_port(
              {spawn_executable, Exe},
              [{args, ["-boot", "no_dot_erlang",
                       "-sname", rabbit_misc:format("epmd-starter-~b", [ID]),
+                      "-proto_dist", rabbit_misc:format("~p", [ProtoDist]),
                       "-noinput", "-s", "erlang", "halt"]},
               exit_status, stderr_to_stdout, use_stdio]),
     port_shutdown_loop(Port).