summaryrefslogtreecommitdiff
path: root/erts/etc
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'maint'Lukas Larsson2018-10-291-3/+3
|\
| * 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.
* | Merge branch 'richcarl/erts/erl_init-cleanup/OTP-15336'Lukas Larsson2018-10-011-2/+0
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * richcarl/erts/erl_init-cleanup/OTP-15336: sasl: Order systools_make:preloaded modules alphabetically Update preloaded modules Move calling on_load for preloaded modules to erl_init Make erl_init.c pass the boot module to erl_init.beam Remove obsolete comment text Remove undocumented and unused -# display_items emulator option Remove broken and undocumented boot function emulator option Replace remaining references to otp_ring0 with erl_init Drop otp_ring0, using erl_init instead Update preloaded modules Add erl_init module Conflicts: erts/emulator/beam/erl_init.c erts/preloaded/ebin/erl_prim_loader.beam erts/preloaded/ebin/erl_tracer.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_code_purger.beam erts/preloaded/ebin/erts_dirty_process_signal_handler.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/erts_literal_area_collector.beam erts/preloaded/ebin/init.beam erts/preloaded/ebin/otp_ring0.beam erts/preloaded/ebin/prim_buffer.beam erts/preloaded/ebin/prim_eval.beam erts/preloaded/ebin/prim_file.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/ebin/prim_zip.beam erts/preloaded/ebin/zlib.beam
| * Remove undocumented and unused -# display_items emulator optionRichard Carlsson2018-05-241-1/+0
| |
| * Remove broken and undocumented boot function emulator optionRichard Carlsson2018-05-231-1/+0
| |
* | 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
| |/ / / / |/| | | |
* | | | | Merge branch 'lukas/erts/non-smp-removal-cleanup/OTP-14518'Lukas Larsson2017-09-111-7/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lukas/erts/non-smp-removal-cleanup/OTP-14518: Make estone work with older releases erts: Allow read in ttsl driver to return EAGAIN syntax_tools: Fix makefile dep erts: non-smp removal cleanup in erlexec
| * | | | | erts: non-smp removal cleanup in erlexecLukas Larsson2017-09-111-7/+1
| | | | | |
* | | | | | run_erl: Fix error handling in sf_close and during pty master readMarko Turk2017-08-121-1/+5
|/ / / / /
* | | | | erts: Cleanup removal of non-smp emulatorsLukas Larsson2017-07-171-23/+0
| | | | |