aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/dist.c
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 /erts/emulator/beam/dist.c
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 'erts/emulator/beam/dist.c')
-rw-r--r--erts/emulator/beam/dist.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
index b50c8273b1..45ada4e38a 100644
--- a/erts/emulator/beam/dist.c
+++ b/erts/emulator/beam/dist.c
@@ -3658,12 +3658,10 @@ int distribution_info(fmtfn_t to, void *arg) /* Called by break handler */
BIF_RETTYPE setnode_2(BIF_ALIST_2)
{
Process *net_kernel;
- Uint creation;
+ Uint32 creation;
/* valid creation ? */
- if(!term_to_Uint(BIF_ARG_2, &creation))
- goto error;
- if(creation > 3)
+ if(!term_to_Uint32(BIF_ARG_2, &creation))
goto error;
/* valid node name ? */
@@ -3707,7 +3705,7 @@ BIF_RETTYPE setnode_2(BIF_ALIST_2)
erts_proc_unlock(BIF_P, ERTS_PROC_LOCK_MAIN);
erts_thr_progress_block();
inc_no_nodes();
- erts_set_this_node(BIF_ARG_1, (Uint32) creation);
+ erts_set_this_node(BIF_ARG_1, creation);
erts_is_alive = 1;
send_nodes_mon_msgs(NULL, am_nodeup, BIF_ARG_1, am_visible, NIL);
erts_thr_progress_unblock();