summaryrefslogtreecommitdiff
path: root/lib/erl_interface
diff options
context:
space:
mode:
Diffstat (limited to 'lib/erl_interface')
-rw-r--r--lib/erl_interface/src/connect/ei_connect.c13
-rw-r--r--lib/erl_interface/src/connect/ei_connect_int.h10
-rw-r--r--lib/erl_interface/test/ei_tmo_SUITE.erl17
3 files changed, 22 insertions, 18 deletions
diff --git a/lib/erl_interface/src/connect/ei_connect.c b/lib/erl_interface/src/connect/ei_connect.c
index 4280b8f62e..599f838aa7 100644
--- a/lib/erl_interface/src/connect/ei_connect.c
+++ b/lib/erl_interface/src/connect/ei_connect.c
@@ -2241,20 +2241,9 @@ static DistFlags preferred_flags(void)
{
DistFlags flags =
DFLAG_MANDATORY_25_DIGEST
- | DFLAG_EXTENDED_REFERENCES
+ | DFLAG_DIST_MANDATORY
| DFLAG_DIST_MONITOR
- | DFLAG_EXTENDED_PIDS_PORTS
- | DFLAG_FUN_TAGS
- | DFLAG_NEW_FUN_TAGS
- | DFLAG_NEW_FLOATS
| DFLAG_SMALL_ATOM_TAGS
- | DFLAG_UTF8_ATOMS
- | DFLAG_MAP_TAG
- | DFLAG_BIG_CREATION
- | DFLAG_EXPORT_PTR_TAG
- | DFLAG_BIT_BINARIES
- | DFLAG_HANDSHAKE_23
- | DFLAG_V4_NC
| DFLAG_UNLINK_ID;
return flags;
}
diff --git a/lib/erl_interface/src/connect/ei_connect_int.h b/lib/erl_interface/src/connect/ei_connect_int.h
index d9be32d42c..b54240d830 100644
--- a/lib/erl_interface/src/connect/ei_connect_int.h
+++ b/lib/erl_interface/src/connect/ei_connect_int.h
@@ -103,7 +103,11 @@ typedef EI_ULONGLONG DistFlags;
| DFLAG_NEW_FLOATS \
| DFLAG_MAP_TAG \
| DFLAG_EXPORT_PTR_TAG \
- | DFLAG_BIT_BINARIES)
+ | DFLAG_BIT_BINARIES \
+ | DFLAG_HANDSHAKE_23)
+
+/* New mandatory flags for distribution in OTP 26. */
+#define DFLAG_DIST_MANDATORY_26 (DFLAG_V4_NC)
/* Mandatory flags for distribution. */
@@ -111,8 +115,8 @@ typedef EI_ULONGLONG DistFlags;
* Mandatory flags for distribution. Keep them in sync with
* erts/emulator/beam/dist.h.
*/
-#define DFLAG_DIST_MANDATORY DFLAG_DIST_MANDATORY_25
-
+#define DFLAG_DIST_MANDATORY (DFLAG_DIST_MANDATORY_25 \
+ | DFLAG_DIST_MANDATORY_26)
ei_cnode *ei_fd_to_cnode(int fd);
int ei_distversion(int fd);
diff --git a/lib/erl_interface/test/ei_tmo_SUITE.erl b/lib/erl_interface/test/ei_tmo_SUITE.erl
index d0e5f4514a..8c90fce280 100644
--- a/lib/erl_interface/test/ei_tmo_SUITE.erl
+++ b/lib/erl_interface/test/ei_tmo_SUITE.erl
@@ -78,6 +78,7 @@ end_per_testcase(_Case, _Config) ->
-define(DFLAG_BIG_CREATION, 16#40000).
-define(DFLAG_HANDSHAKE_23, 16#1000000).
-define(DFLAG_MANDATORY_25_DIGEST, 16#4000000).
+-define(DFLAG_V4_NC, 16#400000000).
%% From OTP R9 extended references are compulsory.
%% From OTP R10 extended pids and ports are compulsory.
@@ -85,7 +86,8 @@ end_per_testcase(_Case, _Config) ->
%% From OTP 21 NEW_FUN_TAGS is compulsory (no more tuple fallback {fun, ...}).
%% From OTP 23 BIG_CREATION is compulsory.
%% From OTP 25 NEW_FLOATS, MAP_TAG, EXPORT_PTR_TAG, and BIT_BINARIES are compulsory.
--define(COMPULSORY_DFLAGS,
+
+-define(DFLAGS_MANDATORY_25,
(?DFLAG_EXTENDED_REFERENCES bor
?DFLAG_FUN_TAGS bor
?DFLAG_EXTENDED_PIDS_PORTS bor
@@ -98,6 +100,15 @@ end_per_testcase(_Case, _Config) ->
?DFLAG_BIT_BINARIES bor
?DFLAG_HANDSHAKE_23)).
+%% From OTP 26 V4_NC is compulsory.
+
+-define(DFLAGS_MANDATORY_26,
+ (?DFLAG_V4_NC)).
+
+-define(COMPULSORY_DFLAGS,
+ (?DFLAGS_MANDATORY_25 bor
+ ?DFLAGS_MANDATORY_26)).
+
%% Check the framework.
framework_check(Config) when is_list(Config) ->
%%dbg:tracer(),
@@ -406,8 +417,8 @@ ei_dflags(Config) ->
normal_accept(Config, ?COMPULSORY_DFLAGS),
%% Test compatibility with future versions.
- normal_connect(Config, ?DFLAG_MANDATORY_25_DIGEST),
- normal_accept(Config, ?DFLAG_MANDATORY_25_DIGEST),
+ normal_connect(Config, ?DFLAG_MANDATORY_25_DIGEST bor ?DFLAGS_MANDATORY_26),
+ normal_accept(Config, ?DFLAG_MANDATORY_25_DIGEST bor ?DFLAGS_MANDATORY_26),
ok.