aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_bif_info.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2019-03-07 21:00:44 +0100
committerSverker Eriksson <[email protected]>2019-03-07 21:00:44 +0100
commit397bb89701a1113125baf1adbaa16a50612cfadb (patch)
tree99d8a25b725e50d7deb9332093f28c4c50b1e3d5 /erts/emulator/beam/erl_bif_info.c
parentc70a0aaeacd91d525c59f9a376022cb87d18e87a (diff)
parent8e323b5c6cbc2ffc8f8f8883daaaf419144c35f1 (diff)
downloadotp-397bb89701a1113125baf1adbaa16a50612cfadb.tar.gz
otp-397bb89701a1113125baf1adbaa16a50612cfadb.tar.bz2
otp-397bb89701a1113125baf1adbaa16a50612cfadb.zip
Merge branch 'sverker/maint/ets-no-mbuf-trapping/OTP-15660'
into sverker/master/ets-no-mbuf-trapping/OTP-15660
Diffstat (limited to 'erts/emulator/beam/erl_bif_info.c')
-rw-r--r--erts/emulator/beam/erl_bif_info.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c
index 74708b2caa..8c51bdb630 100644
--- a/erts/emulator/beam/erl_bif_info.c
+++ b/erts/emulator/beam/erl_bif_info.c
@@ -4689,6 +4689,16 @@ BIF_RETTYPE erts_debug_set_internal_state_2(BIF_ALIST_2)
BIF_RET(am_ok);
}
}
+ else if (ERTS_IS_ATOM_STR("mbuf", BIF_ARG_1)) {
+ Uint sz = size_object(BIF_ARG_2);
+ ErlHeapFragment* frag = new_message_buffer(sz);
+ Eterm *hp = frag->mem;
+ Eterm copy = copy_struct(BIF_ARG_2, sz, &hp, &frag->off_heap);
+ frag->next = BIF_P->mbuf;
+ BIF_P->mbuf = frag;
+ BIF_P->mbuf_sz += sz;
+ BIF_RET(copy);
+ }
}
BIF_ERROR(BIF_P, BADARG);