aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-02-26 20:40:51 +0100
committerSverker Eriksson <[email protected]>2018-03-02 19:16:48 +0100
commit7fb3ed7d2731050186eb5224fe8e6050e4909341 (patch)
treead655e7b9c7d5480065d7cd1579307baa08fcac4 /erts/emulator
parent2709c93ede0be977ac13543d0fabe8ff3c27f4cc (diff)
downloadotp-7fb3ed7d2731050186eb5224fe8e6050e4909341.tar.gz
otp-7fb3ed7d2731050186eb5224fe8e6050e4909341.tar.bz2
otp-7fb3ed7d2731050186eb5224fe8e6050e4909341.zip
erts,kernel: Add dist_util:strict_order_flags/0
to replace DFLAGS_STRICT_ORDER_DELIVERY and remove that compile time dependency.
Diffstat (limited to 'erts/emulator')
-rw-r--r--erts/emulator/beam/dist.c12
-rw-r--r--erts/emulator/beam/dist.h2
2 files changed, 9 insertions, 5 deletions
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
index 6f122273dc..c08a8ec832 100644
--- a/erts/emulator/beam/dist.c
+++ b/erts/emulator/beam/dist.c
@@ -644,7 +644,8 @@ trap_function(Eterm func, int arity)
/*
* Sync with dist_util.erl:
*
- * -record(erts_dflags, {default, mandatory, addable, rejectable}).
+ * -record(erts_dflags,
+ * {default, mandatory, addable, rejectable, strict_order}).
*/
static Eterm erts_dflags_record;
@@ -665,13 +666,14 @@ void init_dist(void)
am_dist_ctrl_put_data,
2);
{
- Eterm* hp = erts_alloc(ERTS_ALC_T_LITERAL, (1+5)*sizeof(Eterm));
- erts_dflags_record = TUPLE5(hp, am_erts_dflags,
+ Eterm* hp = erts_alloc(ERTS_ALC_T_LITERAL, (1+6)*sizeof(Eterm));
+ erts_dflags_record = TUPLE6(hp, am_erts_dflags,
make_small(DFLAG_DIST_DEFAULT),
make_small(DFLAG_DIST_MANDATORY),
make_small(DFLAG_DIST_ADDABLE),
- make_small(DFLAG_DIST_REJECTABLE));
- erts_set_literal_tag(&erts_dflags_record, hp, (1+5));
+ make_small(DFLAG_DIST_REJECTABLE),
+ make_small(DFLAG_DIST_STRICT_ORDER));
+ erts_set_literal_tag(&erts_dflags_record, hp, (1+6));
}
}
diff --git a/erts/emulator/beam/dist.h b/erts/emulator/beam/dist.h
index 202457bb3b..e8dcdb669d 100644
--- a/erts/emulator/beam/dist.h
+++ b/erts/emulator/beam/dist.h
@@ -84,6 +84,8 @@
| DFLAG_HIDDEN_ATOM_CACHE \
| DFLAG_ATOM_CACHE)
+/* Flags for all features needing strict order delivery */
+#define DFLAG_DIST_STRICT_ORDER DFLAG_DIST_HDR_ATOM_CACHE
/* All flags that should be enabled when term_to_binary/1 is used. */
#define TERM_TO_BINARY_DFLAGS (DFLAG_EXTENDED_REFERENCES \