aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys
AgeCommit message (Collapse)Author
2017-06-05erts: Fix so that 81b628 (sigterm=kill) worksLukas Larsson
OTP-14451
2017-05-19erts: Add undocumented option to do default SIGTERMLukas Larsson
This is a stopgap measure before the release of OTP-20 where that makes it possible for the user to make the vm not do anything with SIGTERM and instead rely on the OS default. To enable this behaviour the user should set the environment variable ERL_ZZ_SIGTERM_KILL="true".
2017-04-26erl_mseg.c: don't use invalid indices in - > cache_powered_node[]Mikael Pettersson
2017-04-21Do not ignore SIGTERM when VM has been started with +BiRickard Green
2017-03-21erts: Make sigterm signal safe for non-smp beamBjörn-Egil Dahlberg
The signal handler will now schedule a sigterm message instead of sending the message in the signal handler. The signal handler must refrain from memory allocations and thus the event is scheduled.
2017-03-10Update copyright yearRickard Green
2017-02-03Fix merge commitBjörn-Egil Dahlberg
This fixes commit f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed
2017-02-03Merge branch 'maint-18' into maintHans Nilsson
Conflicts: OTP_VERSION erts/doc/src/notes.xml erts/emulator/sys/unix/erl_unix_sys.h erts/emulator/sys/unix/sys.c erts/vsn.mk lib/crypto/c_src/crypto.c lib/crypto/doc/src/notes.xml lib/crypto/vsn.mk lib/inets/doc/src/notes.xml lib/inets/vsn.mk lib/ssh/doc/src/notes.xml lib/ssh/src/ssh.app.src lib/ssh/src/ssh_connection_handler.erl lib/ssh/vsn.mk otp_versions.table
2017-01-20erts: Fix thread suspend in crashdumpBjörn-Egil Dahlberg
* move signal handler setup
2016-12-15Merge branch 'egil/erts/handle-sigterm-nicely/OTP-14085' into maintBjörn-Egil Dahlberg
* egil/erts/handle-sigterm-nicely/OTP-14085: erts: Document SIGTERM handler erts: Add SIGTERM signal handler
2016-12-07erts: Add SIGTERM signal handlerBjörn-Egil Dahlberg
A received SIGTERM signal to beam will generate a {'stop','stop'} message to the init process and terminate the beam nicely.
2016-11-25Merge branch 'rickard/init-bug/OTP-13911' into maintRickard Green
* rickard/init-bug/OTP-13911: Fix initialization dependencies between time, lock-check and lcnt Conflicts: erts/emulator/sys/unix/sys.c
2016-11-22Merge branch 'sverker/erts/crash-dump-limit/OTP-14046' into maintSverker Eriksson
* sverker/erts/crash-dump-limit: erts: Add env variable ERL_CRASH_DUMP_BYTES erts: Add ErtsStrToSint64 erts: Refactor crash dumping with cbprintf erts: Add cbprintf for Callback Printing erts: Remove unused erl_crash_dump()
2016-11-17erts: Add ErtsStrToSint64Sverker Eriksson
for simplify string to 64-bit integer parsing.
2016-11-17erts: Refactor crash dumping with cbprintfSverker Eriksson
Instead of passing around a file descriptor use a function pointer to facilitate more advanced backend write logic such as size limitation or compression.
2016-11-16erts: Remove unused erl_crash_dump()Sverker Eriksson
2016-11-09Merge branch 'maint-19' into maintBjörn-Egil Dahlberg
2016-11-01erts: Fix SIGUSR1 crashdump generationBjörn-Egil Dahlberg
Do not generate a core when a crashdump is asked for. Regression introduced in 56090db3ea417157a749bdd810fc61d117493f1f
2016-09-27erts: Rename __errno in order to avoid conflict on openbsdLukas Larsson
2016-09-26Fix initialization dependencies between time, lock-check and lcntRickard Green
2016-09-05Merge branch 'lukas/erts/fix_signalhandler_errno_restore/OTP-13868' into maintLukas Larsson
* lukas/erts/fix_signalhandler_errno_restore/OTP-13868: erts: Fix child setup signal hander bug
2016-09-02erts: Fix child setup signal hander bugLukas Larsson
When running the signal handler, the errno has to be restored to its original value, otherwise code running in the same thread may misbehave.
2016-08-31erts: Fix install of suspend handlerLukas Larsson
This commit makes sure to setup the suspend handler to matter what +B option is given at the command line.
2016-08-31Merge branch 'rickard/premature-timeout/OTP-13698' into maintRickard Green
* rickard/premature-timeout/OTP-13698: Improve accuracy of timeouts using premature timeouts
2016-07-14erts: Fix some msacc inline directivesLukas Larsson
2016-07-11Merge branch 'lukas/erts/spawn_driver_relative_cd/ERL-175/OTP-13733' into maintLukas Larsson
* lukas/erts/spawn_driver_relative_cd/ERL-175/OTP-13733: erts: Add port_SUITE:cd invalid dir testcase erts: Fix spawn driver with relative cd option erts: Fix HARD_DEBUG printouts in erl_child_setup erts: Improve error printouts in erl_child_setup Conflicts: erts/emulator/test/port_SUITE.erl
2016-07-07Merge branch 'sverker/child-setup-debugging' into maintSverker Eriksson
2016-07-01erts: Fix spawn driver with relative cd optionLukas Larsson
2016-07-01erts: Fix HARD_DEBUG printouts in erl_child_setupLukas Larsson
2016-07-01erts: Improve error printouts in erl_child_setupLukas Larsson
Add prints to stderr with a small description of the error so that errors will be easier to debug. Also if a protocol error is detected, erl_child_setup will abort instead of exit.
2016-06-28erts: Save abort reason for erl_child_setupSverker Eriksson
Nice to have for core dump inspection when stderr -> /dev/null.
2016-06-22Improve accuracy of timeouts using premature timeoutsRickard Green
Improve accuracy of timeouts using a premature timeout then return to sleep with a shorter timeout just before requested timeout. This approach is only used on certain platforms where we know it improves the accuracy of the timeouts, e.g. MacOS X.
2016-06-21erts: Add test port_SUITE:pipe_limit_envSverker Eriksson
for 9f779819f6bda734c595.
2016-06-20erts: Optimize spawn driver for large(r) environmentsSverker Eriksson
that need to be enqueued.
2016-06-20erts: Fix spawn driver when env size is above pipe capacitySverker Eriksson
Symptom: open_port() succeeds, port program never starts but instead seem to terminate with exit_status 150 (EINVAL+128). When: If the command payload buffer (including the entire environment) for the port program is between 1 to 4 bytes above the pipe capacity, which is 65536 bytes on newer Linux, but can be as low as 4096 on older 32-bit Linux. Since: OTP-19.0-rc1.
2016-06-16Merge branch 'rickard/mach-clock-fix/OTP-13686'Rickard Green
* rickard/mach-clock-fix/OTP-13686: Fix mach clock usage on Sierra
2016-06-15Merge branch 'jj1bdx-19.0-rc2-hipemmap/PR-1094'Sverker Eriksson
2016-06-15Fix mach clock usage on SierraRickard Green
2016-06-10erts: Fix undefined shift to msb in monotonic timeBjörn-Egil Dahlberg
2016-06-10Disregard MAP_NORESERVE for FreeBSDKenji Rikitake
A fix for running 19.0-rc2 on FreeBSD with HiPE enabled. * erl_mmap.h: disregard MAP_NORESERVE for FreeBSD MAP_NORESERVE is undefined in FreeBSD 10.x and later. This is to enable 64bit HiPE experimentally on FreeBSD. Note that on FreeBSD MAP_NORESERVE was "never implemented" even before 11.x (and the flag does not exist in /usr/src/sys/vm/mmap.c of 10.3-STABLE r301478 either), and HiPE was working on OTP 18.3.3, so mandating MAP_NORESERVE on FreeBSD might not be needed. See the following message on how MAP_NORESERVE was treated on FreeBSD: <http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20150202/122958.html> * erl_mmap.c: disable MAP_NORESERVE for FreeBSD * See also <https://github.com/erlang/otp/pull/925/commits/b02ce940c8738785ad018c9f758ca0d05d256bbb>
2016-05-31erts: Fix possible race in poller wakeup on windowsSverker Eriksson
Similar bug that was fixed for unix in 7bbb207b30360c60fb99653.
2016-05-09Merge branch 'sverker/system_info-erts_mmap/OTP-13560'Sverker Eriksson
2016-05-04erts: Add macro HAVE_ERTS_MMAPSverker Eriksson
and make erts_mmap unavailable at compile time if not supported.
2016-05-04erts: Refactor erl_mmap.hSverker Eriksson
by (only) moving around stuff in the file. in order to make it easier to ifdef away all erts_mmap_* if not supported.
2016-04-29erts: Fix system_info({allocator_sizes, mseg_alloc})Sverker Eriksson
will now return [{instance,0,[{segments_size,9961472,9961472,11010048}]}, {instance,1,[{segments_size,6291456,6291456,6815744}]}, {instance,2,[{segments_size,524288,524288,786432}]}, {instance,3,[{segments_size,1048576,1048576,1835008}]}, {instance,4,[{segments_size,0,0,262144}]}] and not just empty lists.
2016-04-29erts: Move option info for erts_mmapSverker Eriksson
from {allocator,mseg_alloc} to {allocator,erts_mmap}
2016-04-29Merge branch 'mikpe/fp-exceptions-cleanups/PR-1019/OTP-13531'Lukas Larsson
* mikpe/fp-exceptions-cleanups/PR-1019/OTP-13531: clean up FP exception code in sys_float.c
2016-04-26matherr() must not fake an FP exceptionMikael Pettersson
When FP exceptions are used, matherr() forces a fake FP exception, which is interpreted as an error by the checking code after a math routine call. This is wrong for several reasons: - it's not necessary for error checking: when FP exceptions aren't used, matherr() is a stub and no information is derived from it being called - it's not necessary for FPU maintenance: the FPU only needs to be reprogrammed after an actual FP exception - it causes false negatives: matherr() may be called even though Erlang doesn't consider the case to be an error (exp() and pow() underflows on Solaris for instance); with FP exceptions enabled they are incorrectly considered errors The fix is to remove all FP exception related code from matherr().
2016-04-20Merge branch 'sverker/hipe-code-alloc'Sverker Eriksson
2016-04-17clean up FP exception code in sys_float.cMikael Pettersson
This performs a number of cleanups in the FP exception code: - inline the body of unmask_fpe_conditional() in its only caller, then delete the duplicated and identical definitions of it - start the big processor-specific block with a comment describing the two functions that must be defined, then delete redundant comments at all the mask_*() functions - add a comment before fpe_sig_action() explaining exactly what processor-specific action is required of it - flatten #ifdef nesting in fpe_sig_action() - move common code in the x86 unmask_fpe() and erts_restore_fpu() function into a subroutine - minor tweaks: drop a redundant L suffix on a 0, add a comment after an #else, bump the size of a debug buffer, There should be no change in behaviour from these changes.