aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys
AgeCommit message (Collapse)Author
2015-02-04fix faulty mergeHenrik Nord
2015-02-03Merge branch 'maint'Zandra Hird
Conflicts: OTP_VERSION erts/emulator/sys/unix/sys.c erts/vsn.mk
2015-01-30Merge branch 'egil/fix-child_setup-close/OTP-12446' into maint-17Erlang/OTP
* egil/fix-child_setup-close/OTP-12446: erts: Use closefrom() if available when closing fds erts: Don't close all fds twice in child_setup
2015-01-27erts: Use closefrom() if available when closing fdsBjörn-Egil Dahlberg
closefrom() was only used in the vfork() case before, now also used in the fork() case.
2015-01-27erts: Don't close all fds twice in child_setupBjörn-Egil Dahlberg
The commit c2b4eab25c907f453a394d382c04cd04e6c06b49 introduced an error in which child_setup erroneously tried to close all file descriptors twice.
2015-01-23erts: Reserve a file descriptor for the crashdump fileBjörn-Egil Dahlberg
2015-01-23erts: Use emergency close to close epmdBjörn-Egil Dahlberg
Closes all open socket before writing crashdump to file.
2014-12-19Merge branch 'lukas/erts/crashdump_improvements/OTP-12377'Lukas Larsson
* lukas/erts/crashdump_improvements/OTP-12377: erts: Make main thread safe from pipe closed event erts: Improve crash dumps erts: Rename sys_sigset to sys_signal erts: Introduce thread suspend functions erts: Remove usage of QUANTIFY signal erts: Add support for thread names ets: Increase data available in crash dumps and ets:info erts: Start compilation of beam_emu earlier
2014-12-19erts: Make main thread safe from pipe closed eventLukas Larsson
2014-12-19erts: Improve crash dumpsLukas Larsson
This commit improves crash dumps in several ways: * Suspends schedulers to get a current snapshot * Dumps information about scheduler * Dumps stack trace of current running process (including Garbing processes)
2014-12-19erts: Rename sys_sigset to sys_signalLukas Larsson
Also removed old legacy fallback that is no longer used
2014-12-19erts: Introduce thread suspend functionsLukas Larsson
These functions allow any thread to suspend any other thread immediately and then resume all threads. This is useful when doing a crash dump in order to get a more accurate picture of what state the system is in.
2014-12-19erts: Remove usage of QUANTIFY signalLukas Larsson
2014-12-19erts: Add support for thread namesLukas Larsson
2014-12-12Merge branch 'lukas/erts/cpu_timestamp_linux/OTP-12366'Lukas Larsson
* lukas/erts/cpu_timestamp_linux/OTP-12366: erts: Allow cpu_timestamp tracing for Linux
2014-12-12Merge branch 'lukas/erts/non-blocking-shell'Lukas Larsson
* lukas/erts/non-blocking-shell: erts: Make sure IOV_MAX is enforced for writev erts: Make erts_printf work with non-blocking
2014-12-12erts: Make sure IOV_MAX is enforced for writevLukas Larsson
2014-12-09erts: Allow cpu_timestamp tracing for LinuxLukas Larsson
2014-12-03Merge branch 'maint'Rickard Green
* maint: Fix function "defined but not used" warning
2014-12-03Fix function "defined but not used" warningRickard Green
2014-12-02Merge branch 'maint'Lukas Larsson
* maint: erts: Fix finite warning for clang
2014-12-02erts: Fix finite warning for clangLukas Larsson
clang aka llvm claims to be __GNUC__ and thus we have to explicitly check that it is not used.
2014-11-24Merge branch 'maint'Lukas Larsson
* maint: erts: Use finite instead of isfinite with gcc
2014-11-24erts: Use finite instead of isfinite with gccLukas Larsson
Turns out that isfinite emits a function call and not an instruction in gcc, this makes estone float arith about 50-75% slower. finite emits the instruction so we use that instead.
2014-11-05Merge branch 'maint'Lukas Larsson
* maint: erts: Fix hanging in fd_stop on windows
2014-10-30erts: Fix hanging in fd_stop on windowsLukas Larsson
When reaping ports the flushReplyEvent is not signalled and therefore an errornous loop check caused the emulator to hang forever during shutdown.
2014-10-28Merge branch 'maint'Lukas Larsson
* maint: Use isfinite() instead of finite() when available
2014-10-28Merge branch 'sv/isfinite/OTP-12268' into maintLukas Larsson
* sv/isfinite/OTP-12268: Use isfinite() instead of finite() when available
2014-10-28Use isfinite() instead of finite() when availableAnthony Ramine
OS X Mavericks builds result in a number of warnings about finite() being deprecated, like these: beam/erl_arith.c:451:7: warning: 'finite' is deprecated: first deprecated in OS X 10.9 [-Wdeprecated-declarations] ERTS_FP_ERROR(p, f1.fd, goto badarith); ^ sys/unix/erl_unix_sys.h:319:33: note: expanded from macro 'ERTS_FP_ERROR' ^ sys/unix/erl_unix_sys.h:244:51: note: expanded from macro '__ERTS_FP_ERROR' ^ /usr/include/math.h:718:12: note: 'finite' has been explicitly marked deprecated here extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); Add checks to use isfinite() instead of finite() where available. Verified on OS X Mavericks 10.9.5 and Ubuntu 12.04.
2014-10-23Merge branch 'rickard/master/eager-check-io/OTP-12117'Rickard Green
* rickard/master/eager-check-io/OTP-12117: No eager check I/O on OSE Introduce support for eager check I/O scheduling
2014-10-20Merge branch 'lukas/erts/non-blocking-shell'Lukas Larsson
* lukas/erts/non-blocking-shell: Fix io:columns/0 timeout when invoked via user kernel,ssh: Add synchronous user_drv protocol erts: Make writing to non-tty fds non-blocking erts: Make tty driver non-blocking
2014-10-16erts: Make writing to non-tty fds non-blockingLukas Larsson
If the fd_driver is given non-tty fds it will now use an async thread instead of doing a blocking write. An example of a non-tty fd is the fd used by stderr, but could be anything handed down to the driver.
2014-10-16erts: Make tty driver non-blockingLukas Larsson
Instead of using blocking call to fwrite, the tty driver now uses non-blocking calls to writev and queues any output data that cannot be written into the driver queue. Without this change an stdout write could block an entire scheduler if for some reason the pseudo tty on the other side does not consume the output of the Erlang shell. OTP-12239
2014-09-25Merge branch 'rickard/maint-17/eager-check-io/OTP-12117' into ↵Rickard Green
rickard/master/eager-check-io/OTP-12117 * rickard/maint-17/eager-check-io/OTP-12117: No eager check I/O on OSE Introduce support for eager check I/O scheduling Conflicts: erts/preloaded/ebin/erlang.beam
2014-09-25Merge branch 'rickard/eager-check-io/OTP-12117' into ↵Rickard Green
rickard/maint-17/eager-check-io/OTP-12117 * rickard/eager-check-io/OTP-12117: Introduce support for eager check I/O scheduling Conflicts: erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_process.c erts/preloaded/ebin/erlang.beam
2014-09-25Introduce support for eager check I/O schedulingRickard Green
2014-08-28Merge branch 'maint'Marcus Arendt
2014-08-22Fix ERTS_POLL_DEBUG_PRINT usageMichael Truog
2014-06-11Merge branch 'maint'Henrik Nord
2014-05-25Fix permissions of some files in the repositoryAnthony Ramine
These files aren't supposed to be executable. For reference, the command used to find them was: git ls-files -z | xargs -0 -J % find % -type f -perm ++x
2014-04-10win32: Fix quoting of pathsLukas Larsson
2014-03-27Merge branch 'lukas/ose/master-17.0/OTP-11334'Lukas Larsson
* lukas/ose/master-17.0/OTP-11334: ose: Fix erts assert failed printouts ose: fix for packet_bytes in fd/spawn driver. ose: Prepare slave for running on OSE ose: Fix bug when hunting for signal proxy ose: Implement tcp inet driver for OSE ose: Add ifdefs for HAVE_UDP ose: Yielding has to be done differently for background processes. ose: Print faults in aio sys driver calls ose: Prinout errno when to_erl read fails ose: erlang display goes to ramlog printf ose: Initiate stdin/stdout/stderr ose: Break lmconf into one per load module ose: Reset busy port when pdq empty ose: Restore the owner of the signal
2014-03-26ose: Fix erts assert failed printoutsLukas Larsson
2014-03-26ose: fix for packet_bytes in fd/spawn driver.Jonas Karlsson
2014-03-26ose: Fix bug when hunting for signal proxyLukas Larsson
Sometimes the wrong signal, i.e. a read reply, would be received from this non-selective receive.
2014-03-26ose: Implement tcp inet driver for OSELukas Larsson
The inet driver for OSE has to handle signals instead of selects and thus the wrappers for ready_input/output are a little bit different. However the majority of the inet code remains the same.
2014-03-26ose: Print faults in aio sys driver callsLukas Larsson
2014-03-26ose: erlang display goes to ramlog printfLukas Larsson
2014-03-26ose: Initiate stdin/stdout/stderrLukas Larsson
Needed to get std io to work in some OSE systems where stdio is not opened when the program starts.
2014-03-26ose: Break lmconf into one per load moduleLukas Larsson