aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src
AgeCommit message (Collapse)Author
2019-03-04Merge branch 'inet_db-startup-fix' into maintRaimo Niskanen
* inet_db-startup-fix: Set early enough start time inet_db: fix a bug when .hosts file is never reloaded
2019-03-04Set early enough start timeRaimo Niskanen
Adhering to the review in GitHub PR #2066: The start time should be set so the resolver file can get re-read as soon as possible to not get the whole timeout time before detecting that the resolver file has been created.
2019-03-04Merge branch 'siri/logger/os-timestamp/OTP-15625' into maintSiri Hansen
* siri/logger/os-timestamp/OTP-15625: Update preloaded [logger] Change timestamp from erlang:system_time to os:system_time
2019-03-04Merge pull request #2164 from josevalim/jv-set-env-maintSiri Hansen
Add application:set_env/1 and application:set_env/2 OTP-15642
2019-03-01Add application:set_env/1 and application:set_env/2José Valim
It is equivalent to calling application:set_env/4 on each application individually, except it is more efficient. When given duplicate apps or duplicate keys, set_env/1 and set_env/2 will warn. The warning will also be emitted during boot: $ erl -config dupkeys.config -s erlang halt 2019-02-27 11:16:02.653100 application: kernel; duplicate parameter: key1 =WARNING REPORT==== 27-Feb-2019::11:16:02.653100 === application: kernel; duplicate parameter: key1 $ erl -config dupapps.config -s erlang halt 2019-02-27 11:16:02.653100 duplicate application config: kernel =WARNING REPORT==== 27-Feb-2019::11:16:02.653100 === duplicate application config: kernel Prior to this patch, the behaviour was unspecified, and duplicate keys and duplicate apps would behave different depending on the amount of config, the name of the config files, and how those configs would be listed. The goal is to raise an error in the future.
2019-02-22[logger] Change timestamp from erlang:system_time to os:system_timeSiri Hansen
This is to align the timestamps with external logs.
2019-02-21Merge branch 'siri/logger/check-inode-of-log/ERL-850/OTP-15578' into maintSiri Hansen
* siri/logger/check-inode-of-log/ERL-850/OTP-15578: [logger] Keep track of inode for logger_std_h log file
2019-02-19Merge branch 'siri/logger/pretty-print-config/OTP-15600' into maintSiri Hansen
* siri/logger/pretty-print-config/OTP-15600: [logger] Add pretty print function for configuration
2019-02-19[logger] Add pretty print function for configurationSiri Hansen
2019-02-13[logger] Keep track of inode for logger_std_h log fileSiri Hansen
If the inode changes, the file is now reopened. This may happen, for instance, if the log file is opened and saved by an editor.
2019-02-01Merge pull request #2117 from essen/fix-erl_epmd_port_please-spec/OTP-15557Lukas Larsson
Fix spec for erl_epmd:port_please
2019-01-29Fix spec for erl_epmd:port_pleaseLoïc Hoguin
It accepts both atoms and strings for the node and host name, plus IP tuples for the host name.
2019-01-28erts: Add magic port control numbersSverker Eriksson
to increase the probablity of a nice badarg from erlang:port_control.
2019-01-16[logger] Remove info and reset functions from handler modulesSiri Hansen
These are not documented, and only used in test. The test now uses logger_olp directly instead.
2019-01-16[logger] Store proxy config in logger ets tableSiri Hansen
This is to ensure that logger_proxy gets the same config after a restart.
2019-01-16[logger] Log mode change and flushes in logger_proxySiri Hansen
2019-01-16[logger] Move out overload protection macros from logger_h_common.hrlSiri Hansen
The new file logger_olp.hrl is added.
2019-01-16[logger] Allow logger_olp callbacks to return {stop,...}Siri Hansen
2019-01-16[logger] Add idle timer in logger_olpSiri Hansen
2019-01-16[logger] Use persistent_term for storing proxy referenceSiri Hansen
2019-01-16[logger] Add API function for configuring logger proxySiri Hansen
2019-01-16[logger] Add logger_stress_SUITESiri Hansen
2019-01-16[logger] Overload protect logging from erts and remote nodesSiri Hansen
2019-01-16[logger] Split overload protection functionality to own moduleSiri Hansen
2018-12-20Merge branch 'lukas/erts/fix-seq_trace-reset_trace/OTP-15490' into maintLukas Larsson
* lukas/erts/fix-seq_trace-reset_trace/OTP-15490: erts: Fix seq_trace:reset_trace dirty gc bug erts: Use sys_memcpy in copy_one_frag
2018-12-19inet_db: fix a bug when .hosts file is never reloadedMaxim Fedorov
If .hosts file does not exist when kernel application starts, it will never get reloaded.
2018-12-13erts: Fix seq_trace:reset_trace dirty gc bugLukas Larsson
When seq_trace:reset_trace could be called while a process was doing a dirty GC. This triggered a race where all signals was moved to the internal signal queue during the GC which in turn caused the a heap overrun problem. This fix makes it so that the main and msgq lock are taken before the clear. This will make sure that we are allowed to do the clear.
2018-12-10Prepare releaseErlang/OTP
2018-12-03Merge branch 'siri/logger/std-recreate-file-if-rotated/OTP-15469' into maintSiri Hansen
* siri/logger/std-recreate-file-if-rotated/OTP-15469: [logger] Re-create log file if deleted
2018-12-03Merge branch 'siri/logger/unexpected-exit-from-simple/ERL-788/OTP-15466' ↵Siri Hansen
into maint * siri/logger/unexpected-exit-from-simple/ERL-788/OTP-15466: [logger] Unlink simple handler before terminating
2018-11-30[logger] Re-create log file if deletedSiri Hansen
This is an update to logger_std_h, which makes it play well with tools like logrotate.
2018-11-30Merge branch 'maint-21' into maintRickard Green
* maint-21: Updated OTP version Prepare release
2018-11-29Prepare releaseErlang/OTP
2018-11-29[logger] Unlink simple handler before terminatingSiri Hansen
This avoids an unexpected EXIT message with reason normal beeing printed from logger_server when the simple handler is replaced. It will still be printed if it exists unexpectedly.
2018-11-29Merge branch 'siri/logger/ets-read-concurrency/ERL-782/OTP-15453' into maintSiri Hansen
* siri/logger/ets-read-concurrency/ERL-782/OTP-15453: [logger] Add read_concurrency to options for logger ets table
2018-11-29Merge branch 'siri/logger/refactor-built-in-handlers' into maintSiri Hansen
* siri/logger/refactor-built-in-handlers: [logger] Write asynchronously to disk log [logger] Add statistics counter for drops due to message bursts [logger] Further refactor built-in handlers [logger] Move common handler code to logger_h_common
2018-11-27[logger] Add read_concurrency to options for logger ets tableSiri Hansen
2018-11-26Merge branch ↵Rickard Green
'sverker/kernel/net_kernel-failed-accept_pending/ERL-781/OTP-15438' into maint * sverker/kernel/net_kernel-failed-accept_pending/ERL-781/OTP-15438: kernel: Fix bug in net_kernel for connection attempt from self
2018-11-23kernel: Fix bug in net_kernel for connection attempt from selfSverker Eriksson
net_kernel crashed due to invalid return from handle_info. Could only happen if erts_internal:new_connection fails due to non-atom Node or if Node is the own node name.
2018-10-29Merge pull request #1983 from binaryseed/bug-default-address_please/OTP-15388Lukas Larsson
Fix the default implementation of address_please
2018-10-19[logger] Write asynchronously to disk logSiri Hansen
This commit updates logger_disk_log_h to write most log events asynchronlously (disk_log:balog/2), but synchronously (disk_log:blog/2) on every 20th event in the same way as logger_std_h does. This is for efficiency reasons.
2018-10-19[logger] Add statistics counter for drops due to message burstsSiri Hansen
2018-10-19[logger] Further refactor built-in handlersSiri Hansen
2018-10-19[logger] Move common handler code to logger_h_commonSiri Hansen
There was a lot of duplicated code in logger_std_h and logger_disk_log_h. Most of this is now moved to logger_h_common, which now also serves as the gen_server callback.
2018-10-19Merge pull request #1975 from sirihansen/siri/logger/config-set-or-updateSiri Hansen
Forward set/update indicator to handler callback changing_config OTP-15364
2018-10-17Merge branch 'igor/tcp-nopush-ERL-698/OTP-15357' into maintJohn Högberg
* igor/tcp-nopush-ERL-698/OTP-15357: "cork" tcp socket around file:sendfile Add nopush TCP socket option
2018-10-13Fix fallback address_pleaseVince Foley
2018-10-12Merge pull request #1974 from ↵Raimo Niskanen
RaimoNiskanen/raimo/getifaddrs-netns/ERIERL-189/OTP-15121 Implement {netns,NS} option for inet:getifaddrs/1 and friends
2018-10-11Add nopush TCP socket optionIgor Slepchin
This translates to TCP_CORK on Linux and TCP_NOPUSH on BSD. In effect, this acts as super-Nagle: no partial TCP segments are sent out until this option is turned off. Once turned off, all accumulated unsent data is sent out immediately. The latter is *not* the case on OSX, hence the implementation ignores "nopush" on OSX to reduce confusion.
2018-10-03[logger] Add handler callback filter_config/1Siri Hansen
This function is called when a logger API function for fetching handler configuration is called. The point is to allow the handler to remove internal data fields that it might have stored in the configuration database, before returning the handler configuration to the caller. An example of such internal data are the 'handler_pid' and 'mode_tab' fields that logger_std_h and logger_disk_log_h store in their configuration maps.