aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/doc
AgeCommit message (Collapse)Author
2017-05-23Merge pull request #1440 from jj1bdx/jj1bdx-inet-ipv6-doc-fixRaimo Niskanen
kernel: inet - fix invalid IPv4-mapped-address examples
2017-05-23Merge branch 'lukas/doc/extend-secure-distr-warn/OTP-14425'Lukas Larsson
* lukas/doc/extend-secure-distr-warn/OTP-14425: otp: Extend secure distribution docs warnings
2017-05-23otp: Extend secure distribution docs warningsLukas Larsson
Warnings have been added to the relevant documentation about not using un-secure distributed nodes in exposed environments.
2017-05-23kernel: Add doc link from os man page to signal serviceLukas Larsson
2017-05-18kernel: Introcude error_logger:get_format_depth()Hans Bolinder
2017-05-17Add persistence to history of the non-legacy shellFred Hebert
This patch adds a mechanism by which shell history gets stored persistently on disk and gets loaded whenever a new shell session begins. The log files are added to the user's cache directory, with multiple files in it, although the location is configurable. All Erlang instances on a given host will share the same log file. There are two hook points in group.erl that are used: when instantiating the buffer, where we fetch from disk, and when adding a line to the buffer (gets stored). This allows all shell instances to use the same base set of lines when loaded, but to keep their history separate after the fact. As lines are added as you go, a new shell session (with ^G -> s -> c) will have access to previous sessions' lines. The implementation makes use of the disk_log library with a rotating log in order to store data, and allow automated repairs. By default, the feature is disabled and must be turned on through OTP environment variable part of the kernel application. The options include: | Option | Accepted values | Default | Description | | ------------------------ | ----------------- |---------- | -------------------- | | shell_history | enabled, disabled | disabled | turn feature on/off | | shell_history_path | any string | user cache| where to put files | | shell_history_file_bytes | 51200..N bytes | 512kb | max data size (>50kb)| | shell_history_drop | ["q().", ...] | [] | blacklisted lines | A version header is added to the disk_log configuration, allowing changes in the storage format to be enacted in the future (i.e. adding segmentation by node name in the same file, or encoding) without conflict. Log rotation is used with multiple log files to ensure proper enforcement of resizing without too much data loss. Because disk_log does not allow to just flush bits of content on rewrite (it truncates any full file), we instead use a wrap log and try to divide the configured size into up to 10 log files so that every time we rotate a log, we lose only 10% of the data. This remains true for corrupted files that cannot fully be repaired. This many-logs-based approach in turn forces the use of a minimal log size for the `shell_history_file_bytes` configuration, since it has to be divided by 10. The shell history is not loaded for the `user` process which, despite running the group.erl module, does not actually require history as it mostly just forwards IO protocol information.
2017-05-17add option 'quiet' to disk_logFred Hebert
This option allows to suppress output of info_msgs to error_logger when recoverable errors are encountered in disk_log by setting the value to 'true'. Defaults to 'false', the backwards compatible behaviour.
2017-05-05Revert "Prepare release"Raimo Niskanen
This reverts commit dc57404252c47520f352834ad9be45ad684f96c9.
2017-05-04Prepare releaseErlang/OTP
2017-05-04Update copyright yearRaimo Niskanen
2017-05-04inet.xml: fix invalid IPv4-mapped-address examplesKenji Rikitake
* IPv6 address FFFF::192.168.42.2 is an invalid form as an IPv4-mapped address. This should be fixed as ::FFFF:192.168.42.2. The assigned address block is ::ffff:0:0/96. See RFC6890 Table 20 in the Section 2.2.2 for the further details. And for this IPv4-mapped address use *only*, the 32bit LSB of the IPv6 address can be written with the respective IPv4 address. See RFC4291 Section 2.2 Form 3 for the further details.
2017-05-04Fix missing release noteRaimo Niskanen
2017-04-20implement SO_BINDTODEVICE for inet protocolsAndreas Schultz
bind to device is needed to properly support VRF-Lite under Linux (see [1] for details). [1]: https://www.kernel.org/doc/Documentation/networking/vrf.txt
2017-03-28Merge branch 'lukas/kernel/gen_tcp_close_docs'Lukas Larsson
* lukas/kernel/gen_tcp_close_docs: kernel: Expand gen_tcp:close docs with send text
2017-03-28kernel: Expand gen_tcp:close docs with send textLukas Larsson
This commit attempts to clarify some of the guarantees given by the TCP standard when issuing close. This is quite a complex topic so there are probably corner cases still left, but this at least tells the user that things can go wrong when doing a close.
2017-03-16Merge branch 'vans163/patch-1/PR-1319'Ingela Anderton Andin
* vans163/patch-1/PR-1319: Update inet.xml. Note buffer relation to MTU
2017-03-16Update inet.xml. Note buffer relation to MTUvans163
The documentation does not indicate this is the buffer responsible for the maximum bytes we can receive from a recv call.
2017-03-14Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release Conflicts: OTP_VERSION lib/typer/doc/src/notes.xml lib/typer/vsn.mk
2017-03-14Prepare releaseErlang/OTP
2017-02-14Fixed typos in lib/kernelAndrew Dryga
2017-02-09Merge pull request #1312 from richcarl/shell-smart-compileBjörn Gustavsson
Extend shell c(...) to find and recompile modules OTP-14190
2017-02-06Document the kernel source_search_rules parameterRichard Carlsson
2017-02-03Merge branch 'egil/20/erts/signal-service/OTP-14186'Björn-Egil Dahlberg
* 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
2017-02-02kernel: Document signal serverBjörn-Egil Dahlberg
2017-01-11config.xml: Remove superfluous reference to R10BBjörn Gustavsson
2017-01-11code.xml: Remove superfluous reference to R12BBjörn Gustavsson
2017-01-11seq_trace: Remove superfluous reference to R3BBjörn Gustavsson
Reported-by: Loïc Hoguin
2016-12-19Merge branch 'maint'Björn-Egil Dahlberg
2016-12-19Merge branch 'legoscia/remove-watchdog-vestiges/PR-1255/OTP-14112' into maintBjörn-Egil Dahlberg
* legoscia/remove-watchdog-vestiges/PR-1255/OTP-14112: Remove vestiges of watchdog support in heart
2016-12-14Merge tag 'OTP-19.2'Dan Gudmundsson
=== OTP-19.2 === Changed Applications: - common_test-1.13 - compiler-7.0.3 - crypto-3.7.2 - dialyzer-3.0.3 - edoc-0.8.1 - erl_docgen-0.6.1 - erl_interface-3.9.2 - erts-8.2 - eunit-2.3.2 - hipe-3.15.3 - inets-6.3.4 - kernel-5.1.1 - mnesia-4.14.2 - observer-2.3 - odbc-2.12 - parsetools-2.1.4 - public_key-1.3 - runtime_tools-1.11 - sasl-3.0.2 - ssh-4.4 - ssl-8.1 - stdlib-3.2 - syntax_tools-2.1.1 - tools-2.9 - wx-1.8 Unchanged Applications: - asn1-4.0.4 - cosEvent-2.2.1 - cosEventDomain-1.2.1 - cosFileTransfer-1.2.1 - cosNotification-1.2.2 - cosProperty-1.2.1 - cosTime-1.2.2 - cosTransactions-1.3.2 - debugger-4.2.1 - diameter-1.12.1 - eldap-1.2.2 - et-1.6 - gs-1.6.2 - ic-4.4.2 - jinterface-1.7.1 - megaco-3.18.1 - orber-3.8.2 - os_mon-2.4.1 - otp_mibs-1.1.1 - percept-0.9 - reltool-0.7.2 - snmp-5.2.4 - typer-0.9.11 - xmerl-1.3.12 * tag 'OTP-19.2': Updated OTP version Prepare release Conflicts: OTP_VERSION
2016-12-09Prepare releaseErlang/OTP
2016-12-01Merge branch 'richcarl/kernel/disk_log_tweaks/OTP-14057/PR-1245'Hans Bolinder
* 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
2016-11-29Clarify that the type for disk log data is iodata()Richard Carlsson
2016-11-28Merge branch 'richcarl/code-change-utils/PR-1257/OTP-14059'Björn Gustavsson
* 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
2016-11-25Add code:module_status/1 and modified_modules/0Richard Carlsson
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.
2016-11-25Merge branch 'maint'Björn Gustavsson
* maint: Remove duplicate docs for the priority inet option
2016-11-24Remove duplicate docs for the priority inet optionLoïc Hoguin
2016-11-23Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap document {yield/nb_yield}() limitation Suppress warnings from v3_kernel when inlining is turned on
2016-11-21Remove vestiges of watchdog support in heartMagnus Henoch
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.
2016-11-19document {yield/nb_yield}() limitationAlexander Clouter
2016-11-17Minor documentation cleanupRichard Carlsson
2016-11-09Merge branch 'maint'Raimo Niskanen
2016-11-09Merge branch ↵Raimo Niskanen
'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}
2016-10-31Merge branch 'maint'Björn-Egil Dahlberg
2016-10-27controlling_process can return {error, badarg}Péter Gömöri
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.
2016-10-17Clarify permission bits in file.xmlMagnus Henoch
In commit 3d70cee4034e, this text was changed to suggest that a list of Unix-specific permission bits would follow, but no such list was added. Let's revert back to the previous wording, so people won't look for a list that isn't there.
2016-09-29Merge branch 'rickard/time-unit/OTP-13831'Rickard Green
* rickard/time-unit/OTP-13831: Replace usage of deprecated time units
2016-09-28Document the order of directories added with code:add_pathsa/1Siri Hansen
code:add_pathsa/1 reverts the list of directories when adding it at the beginning of the code path. The command line option '-pa' behaves in the same way. This is now documented.
2016-09-20Prepare releaseErlang/OTP
2016-09-12Implement IPV6_TCLASSRaimo Niskanen