Age | Commit message (Collapse) | Author |
|
* rickard/dist-exit2/21/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
* ingela/raimo/udp-send-TOS/ERIERL-294/OTP-15747:
Introduce udp send ancillary data argument down to inet_drv
Fix old warnings
|
|
'sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865' into maint-21
* sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865:
erts: Improve test of process_info(reductions)
Revert "erts: Force process_info(reductions) as signal"
|
|
* raimo/incomplete-socket-close/ERIERL-353/OTP-15370:
Copy linger zero flag from listen socket
Test linger zero flag from listen socket
|
|
rickard/dist-exit2/21/OTP-15867
* rickard/dist-exit2/20/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
|
|
|
|
to provoke case when the main lock is released during execution.
|
|
This reverts commit 70dbf671a8196110d2aee2e7507afc2c2c75183f.
As the comment of 70dbf671a8 itself indicates, that "fix" is not really
necessary. It has, however, the bad effect of always consuming reductions of the
process you want to know reduction from, that is you can't meassure reduction
count without affecting it.
|
|
'sverker/seq-trace-label-old-heap-bug/ERL-700/OTP-15849/OTP-15858/OTP-15859' into maint-21
* sverker/seq-trace-label-old-heap-bug/ERL-700/OTP-15849/OTP-15858/OTP-15859:
erts: Fix faulty spec for seq_trace:set_token/2
erts: Fix seq_trace:print/2 for arbitrary labels
erts: Fix bug in seq_trace:set_token(label,_)
|
|
* bjorn/erts/fix-wrong-class/ERIERL-367/OTP-15834:
Fix sticky class in exception
|
|
Would raise badarg if Label was not atom or small integer.
|
|
If internal seq-trace tuple is on old heap
an incorrect ref from old to new heap was made.
|
|
When catching an exception re-throwing with a changed
class, the class could be changed to the original class
if the exception got caught and rethrown in (for example)
an after block:
sticky_class() ->
try
try
throw(reason)
catch
throw:Reason:Stack ->
erlang:raise(error, Reason, Stack)
end
after
ok
end.
|
|
into maint-21
* john/erts/fix-xxx_to_existing_atom-overflow/ERL-944/OTP-15819:
erts: Fix buffer overflow in xxx_to_existing_atom
|
|
|
|
* sverker/process_info-reductions-fix/OTP-15793:
erts: Force process_info(reductions) as signal
erts: Fix another bug in process_info(reductions)
|
|
|
|
Not 100% sure this is needed to get correct reductions
as the direct query is not done if process is RUNNING anyway.
|
|
to disregard consumed virtual reductions
which are not aggregated into p->reds
and if included may cause reduction count go backwards.
|
|
Incorrect precidence rules made the driver never
deselect the given fds.
|
|
* sverker/process_info-reductions-fix/OTP-15709:
erts: Fix bug in process_info(reductions)
erts: Use ptr_val for pointer in gc msg copy
|
|
returning incorrect result as
* current process might not be RUNNING in which case REDS_IN
is actually used as def_arg_reg[5]
* FCALLS might not have been swapped out
* the SAVED_CALLS case was wrong and returned number of reds left
|
|
Cherry-pick: 3d7d66b84b69f3eb42e8bcd8dc510b6676e31cac
Without this fix asserts would trigger in debug build
but nothing else would break.
|
|
We walk through all signal queues in the system when clearing
seq_trace, so we must be prepared to encounter all kinds of
signals.
|
|
maint-21
* max-au/erts/dirty_scheduler_shutdown/PR-2172/OTP-15690:
erts: release dirty runqueue lock before entering endless loop when BEAM is shutting down
# Conflicts:
# erts/emulator/beam/erl_process.c
|
|
shutting down
This patch fixes a problem happening when BEAM is shutting down. It is possible for a dirty scheduler to take the lock, and keep it, when the system is shutting down. It may also happen that a normal scheduler decides to schedule some dirty job (example is major garbage collection that results in migrating the process into dirty CPU queue), and hangs trying to take the lock that will never be released.
To fix the problem, either release the lock before entering endless wait loop, or reverse the order in which schedulers are stopped. Either fix works, and, of course, it works even better to apply both.
|
|
If a suspend/resume signal pair was sent to a process while it
was executing dirty the resume counter on the process got into
an inconsistent state. This in turn could cause the process
to enter a suspended state indefinitely.
|
|
into sverker/maint/ets-no-mbuf-trapping/OTP-15660
|
|
Many heap fragments do no longer make the GC slow.
Even worse, we are not guaranteed that a yield will provoke a GC
removing the fragments, which might lead to a one-yield-per-bucket
scenario if the heap fragment(s) still remains after each yield.
|
|
* rickard/make-fixes-21/OTP-15657:
Remove own configured RM make variable
|
|
* rickard/make-fixes-20/OTP-15657:
Remove own configured RM make variable
|
|
* rickard/make-fixes-19/OTP-15657:
Remove own configured RM make variable
|
|
* rickard/make-fixes-18/OTP-15657:
Remove own configured RM make variable
|
|
* rickard/make-fixes-17/OTP-15657:
Remove own configured RM make variable
|
|
Instead rely on gnu make's pre-defined RM variable which should
equal 'rm -f'
|
|
into maint
* lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652:
kernel runtime dependency to erts
erts: Add yield via timeout to inet read_packet
erts: Don't increase buffer when sctp sndbuf is set
erts: Only change inet buffer if not set
|
|
* siri/logger/os-timestamp/OTP-15625:
Update preloaded
[logger] Change timestamp from erlang:system_time to os:system_time
|
|
LIST_NEXT and LIST_PREV causes macro redefinitions from other include files.
beam/erl_ao_firstfit_alloc.c:103:9: warning: 'LIST_NEXT' macro redefined [-Wmacro-redefined]
^
/usr/include/sys/queue.h:507:9: note: previous definition is here
^
1 warning generated.
beam/erl_bestfit_alloc.c:125:9: warning: 'LIST_NEXT' macro redefined [-Wmacro-redefined]
^
/usr/include/sys/queue.h:507:9: note: previous definition is here
^
|
|
This is to align the timestamps with external logs.
|
|
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
|
|
* 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.
|