Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-01-03 | Replace the libc environment with a thread-safe emulation | John Högberg | |
putenv(3) and friends aren't thread-safe regardless of how you slice it; a global lock around all environment operations (like before) keeps things safe as far as our own operations go, but we have absolutely no control over what libc or a library dragged in by a driver/NIF does -- they're free to call getenv(3) or putenv(3) without honoring our lock. This commit solves this by setting up an "emulated" environment which can't be touched without going through our interfaces. Third-party libraries can still shoot themselves in the foot but benign uses of os:putenv/2 will no longer risk crashing the emulator. | |||
2017-10-30 | erts: Fix a bunch of compiler warnings | Lukas Larsson | |
2017-10-02 | erts: Trigger ready events when erts_io_control fails | Lukas Larsson | |
2017-10-02 | erts: disable kernel-poll on OS X vsn < 16 | Lukas Larsson | |
kqueue is broken on earlier versions of OS X. | |||
2017-10-02 | erts: Add testcases to test IOp and IOt options | Lukas Larsson | |
2017-10-02 | erts: get_internal_state(check_io_debug) now prints to error_logger | Lukas Larsson | |
2017-10-02 | erts: Move all I/O polling to a seperate thread | Lukas Larsson | |
2017-10-02 | erts: Add multiple poll sets | Sverker Eriksson | |
2017-09-15 | erts: Refactor check_io to use one static struct | Sverker Eriksson | |
that is shared between _kp and _nkp versions. Makes it easier to access in debugger. | |||
2017-09-15 | erts: Replace check_io spinlock with lock-less list insertion | Sverker Eriksson | |
2017-09-15 | erts: Add number of enif_select's to check_io_debug | Sverker Eriksson | |
2017-09-15 | erts: Remove undocumented driver_event | Sverker Eriksson | |
2017-09-15 | erts: Refactor move check_io interface from sys to check_io | Sverker Eriksson | |
# Conflicts: # erts/emulator/beam/erl_process.c # erts/emulator/beam/sys.h # erts/emulator/sys/common/erl_check_io.c # erts/emulator/sys/common/erl_check_io.h # erts/emulator/sys/unix/sys.c | |||
2017-09-15 | erts: Rename ErtsPollSet_ structS to not confuse gdb | Sverker Eriksson | |
by having different structs with same name. | |||
2017-09-15 | erts: Increase number of check_io-fd-locks | Sverker Eriksson | |
and use correct cache alignment. | |||
2017-07-17 | erts: Replace usage of all erts_smp prefixes to just erts | Lukas Larsson | |
2017-07-17 | erts: Cleanup removal of non-smp emulators | Lukas Larsson | |
2017-07-17 | erts: Remove ERTS_SMP and USE_THREAD defines | Lukas Larsson | |
This refactor was done using the unifdef tool like this: for file in $(find erts/ -name *.[ch]); do unifdef -t -f defile -o $file $file; done where defile contained: #define ERTS_SMP 1 #define USE_THREADS 1 #define DDLL_SMP 1 #define ERTS_HAVE_SMP_EMU 1 #define SMP 1 #define ERL_BITS_REENTRANT 1 #define ERTS_USE_ASYNC_READY_Q 1 #define FDBLOCK 1 #undef ERTS_POLL_NEED_ASYNC_INTERRUPT_SUPPORT #define ERTS_POLL_ASYNC_INTERRUPT_SUPPORT 0 #define ERTS_POLL_USE_WAKEUP_PIPE 1 #define ERTS_POLL_USE_UPDATE_REQUESTS_QUEUE 1 #undef ERTS_HAVE_PLAIN_EMU #undef ERTS_SIGNAL_STATE | |||
2017-07-06 | Allow toggling lock counting at runtime | John Högberg | |
The implementation is still hidden behind ERTS_ENABLE_LOCK_COUNT, and all categories are still enabled by default, but the actual counting can be toggled at will. OTP-13170 | |||
2017-05-04 | Update copyright year | Raimo Niskanen | |
2017-04-27 | Rename macro and add clarifying comment | Richard Carlsson | |
The macro previously named 'LOG2' is in fact computing the LSB (not the MSB) of its input, and can only be used to compute log2(n) when n is is a power of 2, that is, when its LSB is also its MSB. | |||
2017-04-25 | Merge pull request #1417 from mikpe/erts-erl_mseg-bad-cache-indexing | Rickard Green | |
erl_mseg.c: don't use invalid indices in - > cache_powered_node[] OTP-14360 | |||
2017-04-21 | erl_mseg.c: don't use invalid indices in - > cache_powered_node[] | Mikael Pettersson | |
2017-04-20 | erts: Fix new gcc warning in check io | Lukas Larsson | |
2017-03-22 | erts: Don't allocate memory during signal handling | Björn-Egil Dahlberg | |
Allocations and message sending are now scheduled by a signal, via a signal state bitmap, instead of doing it directly in the signal handler. | |||
2017-03-21 | erts: Make sigterm signal safe for non-smp beam | Bjö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-02-23 | Remove debug printout and comment | Sverker Eriksson | |
2017-02-20 | Remove faulty debug ASSERT | Sverker Eriksson | |
Why did I add that? | |||
2017-02-20 | Fix enif_select for windows | Sverker Eriksson | |
2017-02-20 | erts: Avoid revival of dying resource by dec_term | Sverker Eriksson | |
2017-02-20 | Merge branch 'master' into sverker/enif_select | Sverker Eriksson | |
Conflicts: erts/emulator/beam/erl_binary.h erts/emulator/beam/erl_monitors.c erts/emulator/beam/erl_nif.c erts/emulator/beam/global.h erts/emulator/test/nif_SUITE_data/nif_SUITE.c | |||
2017-02-14 | Fixed typos in erts | Andrew Dryga | |
2017-02-09 | erts: Try fix enif_select for windows | Sverker Eriksson | |
by simply disable "delayed deselect". | |||
2017-02-09 | erts: Change return value for enif_select | Sverker Eriksson | |
to negative int as error and positive as success. | |||
2017-02-09 | erts: Add pid argument to enif_select | Sverker Eriksson | |
2017-02-09 | erts: Beautify enif_select | Sverker Eriksson | |
indentation and comments only | |||
2017-02-09 | erts: Fix bad_fd_in_pollset error case for enif_select | Sverker Eriksson | |
2017-02-09 | erts: Add enif_monitor_process and enif_demonitor_process | Sverker Eriksson | |
2017-02-03 | erts: Rename ErlNifResource as ErtsResource | Sverker Eriksson | |
as it's not part of the API | |||
2017-01-19 | erts: Handle SIGUSR1 via signal service instead | Björn-Egil Dahlberg | |
2016-12-19 | Add ErlNifSelectReturn | Sverker Eriksson | |
2016-12-19 | Add stop arguments: fd and is_direct_call | Sverker Eriksson | |
2016-12-19 | erts: Add testing + some minor fixes | Sverker Eriksson | |
2016-11-30 | erts: Add enif_select & enif_open_resource_type_x | Sverker Eriksson | |
2016-11-28 | erts: Rename some static function | Sverker Eriksson | |
2016-11-28 | erts: Refactor add_active_fd | Sverker Eriksson | |
to not inline cold reallocation code. | |||
2016-11-28 | erts: Change handling of error event for driver_select | Sverker Eriksson | |
Make the code simpler. May change the behavior as we may call both iready and oready when getting an error. But doesn't that seem more correct. | |||
2016-11-22 | Merge branch 'maint' | Sverker Eriksson | |
2016-11-17 | erts: Fix all -Wundef errors | Sverker Eriksson | |
2016-11-17 | erts: Refactor crash dumping with cbprintf | Sverker 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. |