aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2019-03-29Prepare releaseErlang/OTP
2019-03-29Merge branch 'sverker/process_info-reductions-fix/OTP-15709' into maint-21Erlang/OTP
* sverker/process_info-reductions-fix/OTP-15709: erts: Fix bug in process_info(reductions) erts: Use ptr_val for pointer in gc msg copy
2019-03-28erts: Fix bug in process_info(reductions)Sverker Eriksson
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
2019-03-28erts: Use ptr_val for pointer in gc msg copySverker Eriksson
Cherry-pick: 3d7d66b84b69f3eb42e8bcd8dc510b6676e31cac Without this fix asserts would trigger in debug build but nothing else would break.
2019-03-27erts: Handle all signal types when clearing seq_trace tokenJohn Högberg
We walk through all signal queues in the system when clearing seq_trace, so we must be prepared to encounter all kinds of signals.
2019-03-21Prepare releaseErlang/OTP
2019-03-21Merge branch 'max-au/erts/dirty_scheduler_shutdown/PR-2172/OTP-15690' into ↵Erlang/OTP
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
2019-03-21erts: release dirty runqueue lock before entering endless loop when BEAM is ↵Maxim Fedorov
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.
2019-03-20Fix reception of resume signal on process executing dirtyRickard Green
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.
2019-03-11Prepare releaseErlang/OTP
2019-03-07Merge branch 'sverker/ets-no-mbuf-trapping/OTP-15660'Sverker Eriksson
into sverker/maint/ets-no-mbuf-trapping/OTP-15660
2019-03-07erts: Remove ets traversal yielding if heap fragmentSverker Eriksson
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.
2019-03-07Merge branch 'rickard/make-fixes-21/OTP-15657' into maintRickard Green
* rickard/make-fixes-21/OTP-15657: Remove own configured RM make variable
2019-03-06Merge 'rickard/make-fixes-20/OTP-15657' into 'rickard/make-fixes-21/OTP-15657'Rickard Green
* rickard/make-fixes-20/OTP-15657: Remove own configured RM make variable
2019-03-06Merge 'rickard/make-fixes-19/OTP-15657' into 'rickard/make-fixes-20/OTP-15657'Rickard Green
* rickard/make-fixes-19/OTP-15657: Remove own configured RM make variable
2019-03-06Merge 'rickard/make-fixes-18/OTP-15657' into 'rickard/make-fixes-19/OTP-15657'Rickard Green
* rickard/make-fixes-18/OTP-15657: Remove own configured RM make variable
2019-03-06Merge 'rickard/make-fixes-17/OTP-15657' into 'rickard/make-fixes-18/OTP-15657'Rickard Green
* rickard/make-fixes-17/OTP-15657: Remove own configured RM make variable
2019-03-06Remove own configured RM make variableRickard Green
Instead rely on gnu make's pre-defined RM variable which should equal 'rm -f'
2019-03-06Merge branch 'maint-21' into maintRickard Green
* maint-21: Updated OTP version Prepare release
2019-03-06Merge branch 'lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652' ↵Rickard Green
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
2019-03-05Prepare releaseErlang/OTP
2019-03-05Merge branch 'lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652' ↵Erlang/OTP
into maint-21 * 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
2019-03-05Merge branch 'rickard/make-fixes-21/OTP-15551' into maint-21Erlang/OTP
* rickard/make-fixes-21/OTP-15551: Fix install phase in build system
2019-03-04Merge branch 'rickard/make-fixes-21/OTP-15551' into maintRickard Green
* rickard/make-fixes-21/OTP-15551: Fix install phase in build system
2019-03-04Merge 'rickard/make-fixes-20/OTP-15551' into 'rickard/make-fixes-21/OTP-15551'Rickard Green
* rickard/make-fixes-20/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-19/OTP-15551' into 'rickard/make-fixes-20/OTP-15551'Rickard Green
* rickard/make-fixes-19/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-18/OTP-15551' into 'rickard/make-fixes-19/OTP-15551'Rickard Green
* rickard/make-fixes-18/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-17/OTP-15551' into 'rickard/make-fixes-18/OTP-15551'Rickard Green
* rickard/make-fixes-17/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Fix install phase in build systemRickard Green
- Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge PR-2161 sverker/to_erl-utf8/ERL-854 OTP-15650 into maintSverker Eriksson
* sverker/to_erl-utf8/ERL-854: erts: Remove 7-bit ASCII limitation in to_erl
2019-03-04Merge branch 'siri/logger/os-timestamp/OTP-15625' into maintSiri Hansen
* siri/logger/os-timestamp/OTP-15625: Update preloaded [logger] Change timestamp from erlang:system_time to os:system_time
2019-02-26erts: Remove 7-bit ASCII limitation in to_erlSverker Eriksson
Symptom: to_erl garbles anything beyond 7-bit ASCII received on STDIN Solution: Remove setting of ISTRIP flag on input terminal. "man tcsetattr" says: ISTRIP Strip off eighth bit.
2019-02-22erts: Fix macro redefinitionBjörn-Egil Dahlberg
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 ^
2019-02-22Update preloadedSiri Hansen
erts/preloaded/ebin/erl_prim_loader.beam erts/preloaded/ebin/init.beam erts/preloaded/ebin/prim_file.beam
2019-02-22[logger] Change timestamp from erlang:system_time to os:system_timeSiri Hansen
This is to align the timestamps with external logs.
2019-02-20Merge branch 'sverker/erts/term_to_binary-reductions/ERL-774/OTP-15514' into ↵Sverker Eriksson
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
2019-02-20erts: Consume reductions for strings in term_to_binarySverker Eriksson
Cost per string byte, but we still don't yield mid-string.
2019-02-20Merge branch 'sverker/enif_consume_timeslice-dirty-nop/OTP-15604' into maintSverker Eriksson
* sverker/enif_consume_timeslice-dirty-nop/OTP-15604: erts: Make enif_consume_timeslice no-op on dirty sched
2019-02-19Merge branch 'sverker/heart-nice-exit/OTP-15599' into maintSverker Eriksson
* sverker/heart-nice-exit/OTP-15599: erts: Avoid heart killing a nicely exiting emulator
2019-02-18erts: Remove etp macro offsetofLukas Larsson
The macro command was added quite recently and far from all of our testmachines have this command
2019-02-18erts: Add yield via timeout to inet read_packetLukas Larsson
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.
2019-02-18erts: Don't increase buffer when sctp sndbuf is setLukas Larsson
This is most likely a copy-paste bug that has lived in the code unnoticed for 5+ years...
2019-02-18erts: Only change inet buffer if not setLukas Larsson
We only want to autoupdate update the buffer if recbuf is set if the buffer has not been set before.
2019-02-18erts: Make enif_consume_timeslice no-op on dirty schedSverker Eriksson
2019-02-18Merge branch 'lukas/erts/fix-exit_status-netbsd/OTP-15558' into maintLukas Larsson
* lukas/erts/fix-exit_status-netbsd/OTP-15558: Fix EV_DISPATCH detection on NetBSD
2019-02-18Merge branch 'maint-21' into maintRaimo Niskanen
* maint-21: Updated OTP version Prepare release
2019-02-15erts: Reduce number of list traversals in term_to_binarySverker Eriksson
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.
2019-02-15Prepare releaseErlang/OTP
2019-02-15Merge branch 'raimo/erts/gen_tcp-listen-linger-slow/ERIERL-303/OTP-14728' ↵Raimo Niskanen
into maint * raimo/erts/gen_tcp-listen-linger-slow/ERIERL-303/OTP-14728: Check empty_out_q at close also for linger Conflicts: erts/preloaded/ebin/prim_inet.beam
2019-02-15Merge pull request #2140 from ↵Björn Gustavsson
bjorng/bjorn/erts/persistent_term-default/ERL-843/OTP-15576 Add persistent_term:get(Key, DefaultValue)