summaryrefslogtreecommitdiff
path: root/erts/etc
Commit message (Collapse)AuthorAgeFilesLines
* Merge PR-2161 sverker/to_erl-utf8/ERL-854 OTP-15650 into maintSverker Eriksson2019-03-041-1/+0
|\ | | | | | | | | * sverker/to_erl-utf8/ERL-854: erts: Remove 7-bit ASCII limitation in to_erl
| * erts: Remove 7-bit ASCII limitation in to_erlSverker Eriksson2019-02-261-1/+0
| | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'sverker/heart-nice-exit/OTP-15599' into maintSverker Eriksson2019-02-191-13/+25
|\ \ | | | | | | | | | | | | * sverker/heart-nice-exit/OTP-15599: erts: Avoid heart killing a nicely exiting emulator
| * | erts: Avoid heart killing a nicely exiting emulatorSverker Eriksson2019-02-141-13/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | erts: Remove etp macro offsetofLukas Larsson2019-02-181-2/+0
| | | | | | | | | | | | | | | The macro command was added quite recently and far from all of our testmachines have this command
* | | Merge pull request #2113 from richcarl/optional-tuple-callsBjörn Gustavsson2019-02-141-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | Optional tuple calls OTP-15580
| * | | Add -ztma option for enabling tuple callsRichard Carlsson2019-01-281-0/+1
| | |/ | |/|
* | | erts: Expand rr support in cerl and etpLukas Larsson2019-02-054-8/+101
|/ /
* | Fix run_erl.c so it compiles on SolarisRogier Velting2018-10-051-3/+3
| | | | | | | | | | The checks in place to allow this file to compile on macOS and BSD can be extended to include Solaris.
* | erts: Fix benign bug in cerl for valgrindSverker Eriksson2018-07-101-2/+3
| | | | | | | | benign until valgrind version 4.* shows up.
* | Merge branch 'sverker/cerl-fixing' into maintSverker Eriksson2018-06-281-17/+4
|\ \ | | | | | | | | | | | | | | | * sverker/cerl-fixing: erts: Remove "-pz $PRELOADED" arguments added by cerl erts: Remove dead code in cerl script
| * | erts: Remove "-pz $PRELOADED" arguments added by cerlSverker Eriksson2018-06-081-6/+2
| | | | | | | | | | | | | | | | | | | | | It caused problems when starting with -rr and other arguments. Not sure what purpose it served as -pz $PRELOADED is not passed by default by "erl".
| * | erts: Remove dead code in cerl scriptSverker Eriksson2018-06-081-11/+2
| | |
* | | Merge branch 'lukas/erts/etp-aux-work-fixes' into maintLukas Larsson2018-06-201-7/+19
|\ \ \ | | | | | | | | | | | | | | | | * lukas/erts/etp-aux-work-fixes: erts: Update etp-commands with correct aux_flags
| * | | erts: Update etp-commands with correct aux_flagsLukas Larsson2018-06-181-7/+19
| | | |
* | | | Update copyright yearHenrik Nord2018-06-185-5/+5
|/ / /
* | | filmor/use-after-free-escript-win32/PR-1826/OTP-15119Lukas Larsson2018-06-111-12/+1
|\ \ \ | | | | | | | | Fix use-after-free on Windows in escript
| * | | Fix use-after-free on Windows in escriptBenedikt Reinartz2018-05-241-12/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 385b18de6fd72672ed7d6736b30f56d6691d4433, the emulator path was not copied anymore before pushing it to the args vector (before it was done within the `push_words` function. Since on Windows `free_env_val` is not a NOP as it is on Unix systems, the string is freed and afterwards used, leading to strange errors like this: escript: Error executing 'àyI': 2 This is fixed by removing the `free_env_val` call.
* | | erts: Fix emulator log messages to use erlang:system_timeLukas Larsson2018-06-051-1/+0
|/ / | | | | | | This was changed in the logger in 8aa64c90ddd20ec0ca8cc5fe92a6124324c51da5.
* | Update etpRickard Green2018-05-161-3/+158
| |
* | Merge branch 'maint'John Högberg2018-05-031-4/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * maint: Updated OTP version Update release notes Update version numbers ssl: Prepare for release ssl: Proper handling of clients that choose to send an empty answer to a certificate request heart: Use ntohs instead of manual conversion
| * Merge branch 'john/erts/fix-heart-command-overflow/OTP-15034/ERIERL-166' ↵Erlang/OTP2018-05-021-4/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | into maint-20 * john/erts/fix-heart-command-overflow/OTP-15034/ERIERL-166: heart: Use ntohs instead of manual conversion # Conflicts: # lib/kernel/test/heart_SUITE.erl
| | * heart: Use ntohs instead of manual conversionJohn Högberg2018-04-241-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Multiplying a signed char by 256 is undefined behavior and caused problems on some platforms when the length was long enough. We could cast it to an unsigned int to make it work, but it's best not to reinvent the wheel. Fixes OTP-15034
* | | erts: Rewrite memory instrumentationJohn Högberg2018-04-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the old memory instrumentation with a new implementation that scans carriers instead of wrapping erts_alloc/erts_free. The old implementation could not extract information without halting the emulator, had considerable runtime overhead, and the memory maps it produced were noisy and lacked critical information. Since the new implementation walks through existing data structures there's no longer a need to start the emulator with special flags to get information about carrier utilization/fragmentation. Memory fragmentation is also easier to diagnose as it's presented on a per-carrier basis which eliminates the need to account for "holes" between mmap segments. To help track allocations, each allocation can now be tagged with what it is and who allocated it at the cost of one extra word per allocation. This is controlled on a per-allocator basis with the +M<S>atags option, and is enabled by default for binary_alloc and driver_alloc (which is also used by NIFs).
* | | Merge branch 'lukas/erts/fix_openbsd_eof_poll/OTP-14346'Lukas Larsson2018-04-121-3/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | * lukas/erts/fix_openbsd_eof_poll/OTP-14346: erts: Break etp-processes/ports when all found erts: Don't use EV_DISPATCH on openbsd
| * | | erts: Break etp-processes/ports when all foundLukas Larsson2018-03-291-3/+7
| | | |
* | | | Add +sbwt/+swt analogues for dirty schedulersJohn Högberg2018-03-261-0/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | Sharing these settings for all schedulers can degrade performance, so it makes sense to be able to configure them separately. This also changes the default busy-wait time to "short" for both kinds of dirty schedulers.
* | | Implementation of true asynchronous signaling between processesRickard Green2018-03-211-157/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Communication between Erlang processes has conceptually always been performed through asynchronous signaling. The runtime system implementation has however previously preformed most operation synchronously. In a system with only one true thread of execution, this is not problematic (often the opposite). In a system with multiple threads of execution (as current runtime system implementation with SMP support) it becomes problematic. This since it often involves locking of structures when updating them which in turn cause resource contention. Utilizing true asynchronous communication often avoids these resource contention issues. The case that triggered this change was contention on the link lock due to frequent updates of the monitor trees during communication with a frequently used server. The signal order delivery guarantees of the language makes it hard to change the implementation of only some signals to use true asynchronous signaling. Therefore the implementations of (almost) all signals have been changed. Currently the following signals have been implemented as true asynchronous signals: - Message signals - Exit signals - Monitor signals - Demonitor signals - Monitor triggered signals (DOWN, CHANGE, etc) - Link signals - Unlink signals - Group leader signals All of the above already defined as asynchronous signals in the language. The implementation of messages signals was quite asynchronous to begin with, but had quite strict delivery constraints due to the ordering guarantees of signals between a pair of processes. The previously used message queue partitioned into two halves has been replaced by a more general signal queue partitioned into three parts that service all kinds of signals. More details regarding the signal queue can be found in comments in the erl_proc_sig_queue.h file. The monitor and link implementations have also been completely replaced in order to fit the new asynchronous signaling implementation as good as possible. More details regarding the new monitor and link implementations can be found in the erl_monitor_link.h file.
* | | Merge branch 'rickard/psflgs/OTP-14948'Rickard Green2018-03-071-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | * rickard/psflgs/OTP-14948: Replace usage of ERTS_PSFLG_BOUND Remove ERTS_PSFLG_ON_HEAP_MSGQ
| * | | Replace usage of ERTS_PSFLG_BOUNDRickard Green2018-03-051-1/+1
| | | |
| * | | Remove ERTS_PSFLG_ON_HEAP_MSGQRickard Green2018-03-051-1/+1
| | | |
* | | | Merge branch 'raimo/stop-encouraging-v4-mapped/ERL-503/OTP-13716'Raimo Niskanen2018-03-061-2/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | * raimo/stop-encouraging-v4-mapped/ERL-503/OTP-13716: Stop translating V4MAPPED addresses Stop returning V4MAPPED addresses Implement function for IPv4-mapped IPv6 addresses
| * | | Stop returning V4MAPPED addressesRaimo Niskanen2018-02-131-2/+2
| | | |
* | | | Merge 'sverker/maint-20/alloc-n-migration/ERIERL-88'Sverker Eriksson2018-02-121-0/+2
|\ \ \ \ | |/ / / |/| / / | |/ / into 'sverker/master/alloc-n-migration/ERIERL-88'
| * | Merge 'sverker/maint-19/alloc-n-migration/ERIERL-88'Sverker Eriksson2018-02-121-0/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into 'sverker/maint-20/alloc-n-migration/ERIERL-88' OTP-14915 OTP-14916 OTP-14917 OTP-14918
| | * | erts: Add migration options "acnl" and "acfml"Sverker Eriksson2018-02-081-0/+2
| | | | | | | | | | | | | | | | | | | | acnl: Abandon Carrier Nr Limit acfml: Abandon Carrier Free block Min Limit
* | | | Merge branch 'john/erts/erlexec-bindir-path/OTP-14719'John Högberg2017-12-051-9/+34
|\ \ \ \
| * | | | Ensure that bindir is first in $PATH on startupJohn Högberg2017-12-051-9/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erlexec adds $ROOT/erts-<vsn>/bin and $ROOT/bin first in $PATH on startup, but didn't do so if they were in the $PATH already, which meant that the bindir didn't point to the current release after a downgrade.
* | | | | Merge branch 'maint'Sverker Eriksson2017-11-271-5/+2
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | run_erl: Cleanup buggy retry of closeSverker Eriksson2017-11-231-5/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | The retry loop wasn't working anyway as it tested fd<0 instead of res. So, there is no real semantic change here.
* | | | Merge branch 'maint'Lukas Larsson2017-10-181-5/+5
|\ \ \ \ | |/ / /
| * | | Merge branch 'lukas/erts/win_user_home_dir/OTP-14691' into maintLukas Larsson2017-10-181-5/+5
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * lukas/erts/win_user_home_dir/OTP-14691: erts: Use PROFILE dir as home on windows
| | * | | erts: Use PROFILE dir as home on windowsLukas Larsson2017-10-131-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using C:\Windows we use the profile path as the home path on windows. The profile path normally resolves to C:\Users\%USERNAME%. This fixes an issue where the default path to the .erlang.cookie was not the same for jinterface as for erl.
* | | | | Merge branch 'dgud/dot_erlang/OTP-14439'Dan Gudmundsson2017-10-174-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dgud/dot_erlang/OTP-14439: fixup! Do not load .erlang from current dir erlc: Do not load .erlang escript: Do not load .erlang dialyzer: Do not load .erlang reltool: Add no_dot_erlang bootfiles Enable usage of no_dot_erlang in bootstrap Do not load .erlang from current dir
| * | | | | erlc: Do not load .erlangDan Gudmundsson2017-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use 'no_dot_erlang' start script for tools. Options and paths should be stated on the command line, via a Makefile, rebar.config etc.
| * | | | | escript: Do not load .erlangDan Gudmundsson2017-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously you could not opt out on loading .erlang, change the default to not load the resource file. The escript author can invoke c:erlangrc(PathList) to find and load .erlang if needed.
| * | | | | dialyzer: Do not load .erlangDan Gudmundsson2017-09-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use 'no_dot_erlang' start script for tools. Options and paths should be stated on the command line.
* | | | | | Merge branch 'maint'Sverker Eriksson2017-10-161-12/+27
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | erts: Add -rr option to cerl start scriptSverker Eriksson2017-10-121-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | to run beam with "rr record".
* | | | | | erts: Move all I/O polling to a seperate threadLukas Larsson2017-10-022-12/+52
| |/ / / / |/| | | |