aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/erl_epmd.erl
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2019-03-20 15:42:34 +0100
committerSverker Eriksson <[email protected]>2019-03-22 19:40:36 +0100
commitbd8f6106d44a58c261920eef72842bb3bc5a4968 (patch)
tree7472e2c80a2ee885cfcf767b0cb541a3417c0fd6 /lib/kernel/src/erl_epmd.erl
parente2cf4a8a4b03b9f430ba228276c3b2629159e832 (diff)
downloadotp-bd8f6106d44a58c261920eef72842bb3bc5a4968.tar.gz
otp-bd8f6106d44a58c261920eef72842bb3bc5a4968.tar.bz2
otp-bd8f6106d44a58c261920eef72842bb3bc5a4968.zip
epmd: Support 32-bit creation values in local node
* Increase distribution version from 5 to 6 * Introduce new ALIVE2_X_RESP with 32-bit creation as reply to ALIVE2_REQ when sender dist version >= 6 * Still reply old ALIVE2_RESP with tiny creation 1..3 if sender dist version < 6.
Diffstat (limited to 'lib/kernel/src/erl_epmd.erl')
-rw-r--r--lib/kernel/src/erl_epmd.erl11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
index 7a14e2635c..f31a1722ce 100644
--- a/lib/kernel/src/erl_epmd.erl
+++ b/lib/kernel/src/erl_epmd.erl
@@ -33,10 +33,10 @@
-define(erlang_daemon_port, 4369).
-endif.
-ifndef(epmd_dist_high).
--define(epmd_dist_high, 4370).
+-define(epmd_dist_high, 6).
-endif.
-ifndef(epmd_dist_low).
--define(epmd_dist_low, 4370).
+-define(epmd_dist_low, 5).
-endif.
%% External exports
@@ -342,6 +342,13 @@ wait_for_reg_reply(Socket, SoFar) ->
receive
{tcp, Socket, Data0} ->
case SoFar ++ Data0 of
+ [$v, Result, A, B, C, D] ->
+ case Result of
+ 0 ->
+ {alive, Socket, ?u32(A, B, C, D)};
+ _ ->
+ {error, duplicate_name}
+ end;
[$y, Result, A, B] ->
case Result of
0 ->