Age | Commit message (Collapse) | Author |
|
* maint:
Store messages for 'rex' and 'error_logger' off heap
file: match enoent and enotdir in path_open
|
|
Store messages for 'rex' and 'error_logger' off heap
OTP-14192
|
|
file: match enoent and enotdir in path_open
OTP-14191
|
|
* egil/20/erts/signal-service/OTP-14186:
kernel: Document signal server
erts: Use os module instead of erts_internal for set_signal/2
erts: Do not handle SIGILL
erts: Fix thread suspend in crashdump
erts: Do not enable SIGINT
erts: Use generic signal handler
erts: Add OS signal tests
erts: Handle SIGUSR1 via signal service instead
erts: Handle SIGTERM via signal service instead
kernel: Add gen_event signal server and default handler
erts: Add SIGHUP signal handler
erts: Remove whitespace errors
Conflicts:
erts/emulator/beam/bif.tab
|
|
Performance for processes that receive huge amounts of
messages can be increased by storing the incoming messages
outside the heap (that avoids copying the message in a
garbage collection).
Two OTP processes that are known to receive many messages
are 'rex' (used by 'rpc') and 'error_logger'.
|
|
* Add specs
* Change return signature to 'ok' instead of 'true'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* legoscia/remove-watchdog-vestiges/PR-1255/OTP-14112:
Remove vestiges of watchdog support in heart
|
|
* maint:
Update copyright-year
Conflicts:
lib/dialyzer/src/dialyzer.hrl
lib/dialyzer/src/dialyzer_options.erl
lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer.hrl
lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer_races.erl
lib/hipe/icode/hipe_icode.erl
lib/hipe/main/hipe.erl
lib/hipe/main/hipe.hrl.src
lib/hipe/main/hipe_main.erl
|
|
|
|
* richcarl/kernel/disk_log_tweaks/OTP-14057/PR-1245:
Pass log format through from handle()
Improve caching in disk_log
Use pattern matching for records where suitable
Eliminate more code duplication
Simplify for rflat
Clarify that the type for disk log data is iodata()
Pass through known size instead of recomputing
Use iolist_size instead of local function
Only read log format once in collect loop
Eliminate some code duplication
Rename internal function for clarity
Minor documentation cleanup
|
|
|
|
Avoid starting timers for flushing when the written data is empty or larger
than the max cache size. Previously, a single huge write to an empty cache
would be put in the cache until the next write or the timer event. Also
increase the cache size from 16K to 64K.
|
|
|
|
|
|
|
|
|
|
* richcarl/code-change-utils/PR-1257/OTP-14059:
Update preloaded modules
Add shell mm() and lm() functions
Add code:module_status/1 and modified_modules/0
Fix spec for erlang:get_module_info()
Handle prefetched paths
Restructure code:which() and where_is_file()
Remove remnants of module package support
|
|
These functions use the MD5 beam/native checksum to determine whether the
code for a module has changed on disk and is a candidate for loading.
|
|
|
|
|
|
|
|
|
|
Hardware watchdog support was removed from heart in R13A, but there were
still some vestiges in the code and the documentation.
- Remove mentions of the HW_WD_DISABLE variable, as it's no longer used.
- Remove the HEART_BEAT_BOOT_DELAY variable, as it was only used for the
hardware watchdog.
|
|
|
|
|
|
|
|
|
|
|
|
* siri/appups-20.0:
Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib
Update appups in kernel, stdlib and sasl for OTP-20
|
|
|
|
'gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022' into maint
* gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022:
controlling_process can return {error, badarg}
|
|
|
|
* sverker/kernel-erts-dependency:
kernel: Add lost dependency to erts-8.1
|
|
In OTP-19.1 (c70ca686fe269db6079a2ca1c7e09cdfc0cfa903)
erts_code_purger:finish_after_on_load/2 was added
and called by code_server.erl.
|
|
For gen_tcp, gen_udp and gen_sctp controlling_process/2 can return
badarg if erlang:port_connect/2 fails with badarg. This can easily
happen if the new owner is not alive but in some race condition also
when the socket is closed right before port_connect/2 (and after the
previous socket function)
This commit documents this behaviour.
|
|
|
|
The code of add_ref/6 contained an assertion that somehow appeared
twice. Also, a recent commit (2b2de61) suppressed an unmatched
return warning in a non-optimal way. By changing the return type
of hipe_bifs:add_ref/2 to be 'ok' instead of [] the code can be
cleaned up and simplified.
While at it, fixed the wrong indentation of some nearby code.
|
|
|
|
when failing to load native code.
|
|
by introducing hipe_bifs:commit_patch_load/1
that creates the HipeModule.
|
|
|
|
Just like the BEAM loader state (as returned by
erlang:prepare_loading/2), the HiPE loader state is contained in a magic
binary.
Eventually, we will separate HiPE loading into a prepare and a finalise
phase, like the BEAM loader, where the prepare phase will be implemented
by hipe_unified_loader and the finalise phase be implemented in C by
hipe_load.c and beam_load.c, making prepare side-effect free and
finalise atomic. The finalise phase will be exposed through the
erlang:finish_loading/1 API, just like the BEAM loader, as this will
allow HiPE and BEAM modules to be mixed in the same atomic "commit".
The usage of a loader state makes it easier to keep track of all
resources allocated during loading, and will not only make it easy to
prevent leaks when hipe_unified_loader crashes, but also paves the way
for proper, leak-free, unloading of HiPE modules.
|
|
and hipe_bifs:update_code_size
|