Age | Commit message (Collapse) | Author |
|
|
|
OTP-15612
|
|
|
|
The dist messages EXIT, EXIT2 and MONITOR_DOWN have been
updated with new versions that send the reason term as
part of the payload of the message instead of as part
of the control message.
This allows the decode of the reason to be done by the
receiving process instead of the dist entry which in turn
makes it possible for multiple decodes to be done in
parallel.
This change is done in order to make it easier to fragment
the potentially large payload of EXIT, EXIT2 and MONITOR_DOWN
into multiple distribution messages.
OTP-15611
|
|
Before this change the inet driver was in list mode and
thus the data from it had to be copied when received by
the dist entry. This change puts the tcp port in binary mode
and makes the any refc binary created by it be used all the way
to the process where it is decoded.
Thus eliminating one copy of the entire message payload.
|
|
OTP-15610
|
|
|
|
maint
* sverker/erts/term_to_binary-reductions/ERL-774/OTP-15514:
erts: Consume reductions for strings in term_to_binary
erts: Reduce number of list traversals in term_to_binary
|
|
Cost per string byte,
but we still don't yield mid-string.
|
|
|
|
* sverker/enif_consume_timeslice-dirty-nop/OTP-15604:
erts: Make enif_consume_timeslice no-op on dirty sched
|
|
as a macro wrappper around enif_compare
|
|
|
|
|
|
* sverker/heart-nice-exit/OTP-15599:
erts: Avoid heart killing a nicely exiting emulator
|
|
The idea here is that the timeout of 0 will work like a yield
so that that we don't starve other ports/processes, but it
is faster than the select trigger. We don't deselect on the socket
because it does not matter if it is triggered laster or not
as we'll just get an EAGAIN.
Doing this also circumvents the fact that no select is done on
active true style sockets until all I/O has been handled. So in
a system with a lot of active true style I/O this will could be
very benificial.
|
|
This is most likely a copy-paste bug that has lived in the code
unnoticed for 5+ years...
|
|
We only want to autoupdate update the buffer if recbuf
is set if the buffer has not been set before.
|
|
|
|
|
|
* lukas/erts/fix-exit_status-netbsd/OTP-15558:
Fix EV_DISPATCH detection on NetBSD
|
|
by patching list length when we reach end of list.
And remove unnecessary traversals in is_string and is_external_string
beyond the max length for STRING_EXT.
|
|
bjorng/bjorn/erts/revert-optional-tuple-calls/OTP-15581
Remove support for optional tuple calls
|
|
* maint:
Add persistent_term:get(Key, DefaultValue)
Make dialyzer faster for left-associative andalso/orelse expressions
|
|
bjorng/bjorn/erts/persistent_term-default/ERL-843/OTP-15576
Add persistent_term:get(Key, DefaultValue)
|
|
Symptom:
Heart kills exiting emulator before is has flushed all ports
and with HEART_KILL_SIGNAL=SIGABRT it may also produce
unnecessary core dumps from doing init:reboot() for example.
Problem:
Heart port is closed together with all the others in handle_reap_ports()
which is detected by heart OS process.
Solution 1:
Leave the heart port alone in handle_reap_ports() and let it be closed
by OS when emulator exists. It doesn't need to be flushed anyway.
Solution 2:
When heart OS process gets EOF on connection let it wait max 5 seconds
for emulator process to self terminate before trying to kill it.
|
|
|
|
Fix bug in binary:encode_unsigned causing a read of uninitialized memory
|
|
into maint-20
* john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237:
Allow disabling retpoline in interpreter loop
Add a ./configure flag for spectre mitigation
|
|
This reverts commit 87da7b5be69de01e65df566c6e35064381d1144d.
|
|
This reverts commit ea0e763e953f9c7d1fa9c142f24cb95f56119c56.
|
|
* maint:
Add -ztma option for enabling tuple calls
Reinstate tuple calls support in the beam emulator
|
|
Optional tuple calls
OTP-15580
|
|
https://bugs.erlang.org/browse/ERL-843
|
|
|
|
* sverker/enif_select-faulty-assert:
erts: Fix faulty debug assert in enif_select
|
|
* sverker/map-from-ks-vs-bug/OTP-15567:
erts: Add test for bug in enif_make_maps_from_arrays
erts: Fix bug in erts_map_from_ks_and_vs
|
|
|
|
|
|
|
|
This sleeping bug was introduced in OTP 19.1
but not possible not provoke until OTP 21.0
when enif_make_map_from_arrays was introduced.
|
|
|
|
* sverker/fix-compile-warning:
erts: Fix compiler warning for IS_SSMALL
|
|
Add enif_make_monitor_term
|
|
All of the Red-Black Tree _yielding functions have been
updated to work with reductions returned by the called
function instead of yielding on each element.
|
|
|
|
bmk/20190204/socket_as_nif/OTP-14831
|
|
|
|
The nif callback functions (nif_open) now instead cause an
'nosup' exception if called (instead of badarg).
The basic type uint16_t, uint32_t and int32_t (C99) replaced
"own" (that is, defined by "us") types Uint16, Uint32 and
Sint32.
The point of this is that our Windows build system seems to
be a bit lacking when it comes to types...
Removed "some stuff" that was if-defed. Different solution
when win32 support for sockets has been improved.
Make sure the socket_*.c util modules are not included
in the building for windows.
OTP-15526
|
|
|