From c431a065ba515d27830f01c852f70940efb3003b Mon Sep 17 00:00:00 2001
From: Lukas Larsson
Date: Thu, 2 Jul 2015 11:13:32 +0200
Subject: ose: Remove all code related to the OSE port
The OSE port is no longer supported and this commit removed it
and any changes related to it. The things that were general
improvements have been left in the code.
---
lib/kernel/doc/src/notes.xml | 3 +-
lib/kernel/doc/src/ref_man.xml.src | 68 --------------------------------------
2 files changed, 1 insertion(+), 70 deletions(-)
delete mode 100644 lib/kernel/doc/src/ref_man.xml.src
(limited to 'lib/kernel/doc/src')
diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml
index b8db22aba7..e759f214df 100644
--- a/lib/kernel/doc/src/notes.xml
+++ b/lib/kernel/doc/src/notes.xml
@@ -423,8 +423,7 @@
Erlang/OTP has been ported to the realtime operating
system OSE. The port supports both smp and non-smp
emulator. For details around the port and how to started
- see the User's Guide in the ose application.
+ see the User's Guide in the ose application.
Note that not all parts of Erlang/OTP has been ported.
diff --git a/lib/kernel/doc/src/ref_man.xml.src b/lib/kernel/doc/src/ref_man.xml.src
deleted file mode 100644
index 7eb48a5f1d..0000000000
--- a/lib/kernel/doc/src/ref_man.xml.src
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
- 19962013
- Ericsson AB. All Rights Reserved.
-
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
- Kernel Reference Manual
-
-
-
-
-
-
-
The Kernel application has all the code necessary to run
- the Erlang runtime system itself: file servers and code servers
- and so on.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--
cgit v1.2.3
From 285b4fa13914dc4748c1020213a9c65cad3d2738 Mon Sep 17 00:00:00 2001
From: Serge Aleynikov
Date: Tue, 2 Jun 2015 08:44:23 -0400
Subject: erts: Add {line_delimiter, byte()} option to inet:setopts/2
A new {line_delimiter, byte()} option allows line-oriented TCP-based protocols
to use a custom line delimiting character. It is to be used in conjunction
with {packet, line}.
This option also works with erlang:decode_packet/3 when its first argument
is 'line'.
---
lib/kernel/doc/src/inet.xml | 5 +++++
1 file changed, 5 insertions(+)
(limited to 'lib/kernel/doc/src')
diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml
index e5d7ce048a..e6d418dc58 100644
--- a/lib/kernel/doc/src/inet.xml
+++ b/lib/kernel/doc/src/inet.xml
@@ -981,6 +981,11 @@ setcap cap_sys_admin,cap_sys_ptrace,cap_dac_read_search+epi beam.smp
indicated length are accepted and not considered invalid due
to internal buffer limitations.
+ {line_delimiter, Char}(TCP/IP sockets)
+
+
Sets the line delimiting character for line oriented protocols
+ (line). Default value is $\n.
+ {priority, Priority}
Set the protocol-defined priority for all packets to be sent
--
cgit v1.2.3
From 05eee243c7e5fb8d501807a3b11065e1bf2c2b9a Mon Sep 17 00:00:00 2001
From: Magnus Henoch
Date: Wed, 11 Nov 2015 15:33:39 +0000
Subject: Fix documentation of net_kernel:allow/1
Make the documentation reflect what the function actually does.
---
lib/kernel/doc/src/net_kernel.xml | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
(limited to 'lib/kernel/doc/src')
diff --git a/lib/kernel/doc/src/net_kernel.xml b/lib/kernel/doc/src/net_kernel.xml
index a0132db8db..311e0d8ea4 100644
--- a/lib/kernel/doc/src/net_kernel.xml
+++ b/lib/kernel/doc/src/net_kernel.xml
@@ -63,11 +63,16 @@
- Limit access to a specified set of nodes
+ Permit access to a specified set of nodes
-
Limits access to the specified set of nodes. Any access
- attempts made from (or to) nodes not in Nodes will be
- rejected.
+
Permits access to the specified set of nodes.
+
Before the first call to allow/1, any node with the correct
+ cookie can be connected. When allow/1 is called, a list
+ of allowed nodes is established. Any access attempts made from (or to)
+ nodes not in that list will be rejected.
+
Subsequent calls to allow/1 will add the specified nodes
+ to the list of allowed nodes. It is not possible to remove nodes
+ from the list.
Returns error if any element in Nodes is not
an atom.
--
cgit v1.2.3
From 3131a94b5d2ce2b95aa0efb99c767e3658f24550 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?=
Date: Fri, 11 Dec 2015 16:25:34 +0100
Subject: Remove the code path cache in the code server
In practice, it does not seem that code path cache can
improve performance. Looking for any file that is not found
will cause the cache to be rebuilt, which will negate any
gain of using the cache.
---
lib/kernel/doc/src/code.xml | 36 +-----------------------------------
1 file changed, 1 insertion(+), 35 deletions(-)
(limited to 'lib/kernel/doc/src')
diff --git a/lib/kernel/doc/src/code.xml b/lib/kernel/doc/src/code.xml
index eb0f4b7a06..acc39145e2 100644
--- a/lib/kernel/doc/src/code.xml
+++ b/lib/kernel/doc/src/code.xml
@@ -100,30 +100,6 @@
use semi-colon as separator.)
-
- Code Path Cache
-
The code server incorporates a code path cache. The cache
- functionality is disabled by default. To activate it, start
- the emulator with the command line flag -code_path_cache
- or call code:rehash(). When the cache is created (or
- updated), the code server searches for modules in the code path
- directories. This may take some time if the the code path is long.
- After the cache creation, the time for loading modules in a large
- system (one with a large directory structure) is significantly
- reduced compared to having the cache disabled. The code server
- is able to look up the location of a module from the cache in
- constant time instead of having to search through the code path
- directories.
-
Application resource files (.app files) are also stored
- in the code path cache. This feature is used by the application
- controller (see
- application(3)) to load
- applications efficiently in large systems.
-
Note that when the code path cache is created (or updated), any
- relative directory names in the code path are converted to
- absolute.
-
-
Loading of Code From Archive Files
@@ -699,13 +675,6 @@ rpc:call(Node, code, load_binary, [Module, Filename, Binary]),
not sticky.
-
-
- Rehash or create code path cache
-
-
This function creates or rehashes the code path cache.
-
- Full name of a file located in the code path
@@ -714,10 +683,7 @@ rpc:call(Node, code, load_binary, [Module, Filename, Binary]),
arbitrary type. If found, the full name is returned.
non_existing is returned if the file cannot be found.
The function can be useful, for example, to locate
- application resource files. If the code path cache is used,
- the code server will efficiently read the full name from
- the cache, provided that Filename is an object code
- file or an .app file.
+ application resource files.
--
cgit v1.2.3
From 858c6f7fa44f7b2dc363b359198d6522dd60e914 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Tue, 5 Jan 2016 16:55:04 +0100
Subject: Introduce time warp safe trace timestamp formats
New timestamp options for trace, sequential trace, and
system profile:
- monotonic_timestamp
- strict_monotonic_timestamp
---
lib/kernel/doc/src/seq_trace.xml | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
(limited to 'lib/kernel/doc/src')
diff --git a/lib/kernel/doc/src/seq_trace.xml b/lib/kernel/doc/src/seq_trace.xml
index 3439111035..9f191d488d 100644
--- a/lib/kernel/doc/src/seq_trace.xml
+++ b/lib/kernel/doc/src/seq_trace.xml
@@ -127,6 +127,34 @@ seq_trace:set_token(OldToken), % activate the trace token again
enables/disables a timestamp to be generated for each
traced event. Default is false.
+ set_token(strict_monotonic_timestamp, Bool)
+
+
A trace token flag (true | false) which
+ enables/disables a strict monotonic timestamp to be generated
+ for each traced event. Default is false. Timestamps will
+ consist of
+ Erlang
+ monotonic time and a monotonically increasing
+ integer. The time-stamp has the same format and value
+ as produced by {erlang:monotonic_time(),
+ erlang:unique_integer([monotonic])}.
+
+ set_token(monotonic_timestamp, Bool)
+
+
A trace token flag (true | false) which
+ enables/disables a strict monotonic timestamp to be generated
+ for each traced event. Default is false. Timestamps
+ will use
+ Erlang
+ monotonic time. The time-stamp has the same
+ format and value as produced by erlang:monotonic_time().
+
+
If multiple timestamp flags are passed, timestamp has
+ precedence over strict_monotonic_timestamp which
+ in turn has precedence over monotonic_timestamp. All
+ timestamp flags are remembered, so if two are passed
+ and the one with highest precedence later is disabled
+ the other one will become active.
--
cgit v1.2.3
From fbfe12dad837300942fc4bf0a3f927b25eaf50a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?=
Date: Tue, 26 Jan 2016 08:11:00 +0100
Subject: Update documentation for code-loading functions
Some of the error reasons were not explained.
---
lib/kernel/doc/src/code.xml | 61 ++++++++++++++++++++++++++++++++++-----------
1 file changed, 47 insertions(+), 14 deletions(-)
(limited to 'lib/kernel/doc/src')
diff --git a/lib/kernel/doc/src/code.xml b/lib/kernel/doc/src/code.xml
index eb0f4b7a06..1bd52040a0 100644
--- a/lib/kernel/doc/src/code.xml
+++ b/lib/kernel/doc/src/code.xml
@@ -287,6 +287,46 @@
was given to set_path/1).
+
+
+ Error Reasons for Code-Loading Functions
+
+
Functions that load code (such as load_file/1) will
+ return {error,Reason} if the load operation fails.
+ Here follows a description of the common reasons.
+
+
+ badfile
+
+
The object code has an incorrect format or the module
+ name in the object code is not the expected module name.
+
+
+ nofile
+
+
No file with object code was found.
+
+
+ not_purged
+
+
The object code could not be loaded because an old version
+ of the code already existed.
+
+
+ on_load_failure
+
+
The module has an
+ -on_load function
+ that failed when it was called.
+
+
+ sticky_directory
+
+
The object code resides in a sticky directory.
+
+
+
+
@@ -411,12 +451,8 @@
be used to load object code with a module name that is
different from the file name.
Returns {module, Module} if successful, or
- {error, nofile} if no object code is found, or
- {error, sticky_directory} if the object code resides in
- a sticky directory. Also if the loading fails, an error tuple is
- returned. See
- erlang:load_module/2
- for possible values of What.
+ {error, Reason} if loading fails.
+ See Error Reasons for Code-Loading Functions for a description of the possible error reasons.
@@ -428,7 +464,7 @@
Does the same as load_file(Module), but
Filename is either an absolute file name, or a
- relative file name. The code path is not searched. It returns
+ relative file name. The code path is not searched. It returns
a value in the same way as
load_file/1. Note
that Filename should not contain the extension (for
@@ -444,7 +480,8 @@
load_file/1,
unless the module is already loaded.
In embedded mode, however, it does not load a module which is not
- already loaded, but returns {error, embedded} instead.
+ already loaded, but returns {error, embedded} instead.
+ See Error Reasons for Code-Loading Functions for a description of other possible error reasons.
@@ -461,12 +498,8 @@
comes. Accordingly, Filename is not opened and read by
the code server.
Returns {module, Module} if successful, or
- {error, sticky_directory} if the object code resides in
- a sticky directory, or {error, badarg} if any argument
- is invalid. Also if the loading fails, an error tuple is
- returned. See
- erlang:load_module/2
- for possible values of What.
+ {error, Reason} if loading fails.
+ See Error Reasons for Code-Loading Functions for a description of the possible error reasons.
--
cgit v1.2.3
From eea5f896780e07f7ca76685061d01e7be5a7abaa Mon Sep 17 00:00:00 2001
From: Lukas Larsson
Date: Thu, 11 Sep 2014 18:26:26 +0200
Subject: erts, kernel: Add os:perf_counter function
The perf_counter is a very very cheap and high resolution timer
that can be used to timestamp system events. It does not have
monoticity guarantees, but should on most OS's expose a monotonous
time.
A special instruction has been created for this counter to further
speed up fetching it.
OTP-12908
---
lib/kernel/doc/src/os.xml | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
(limited to 'lib/kernel/doc/src')
diff --git a/lib/kernel/doc/src/os.xml b/lib/kernel/doc/src/os.xml
index 682d4a2eac..165160a909 100644
--- a/lib/kernel/doc/src/os.xml
+++ b/lib/kernel/doc/src/os.xml
@@ -37,6 +37,7 @@
use these functions can be of help in enabling a program to run on
most platforms.
+
@@ -209,6 +210,30 @@ format_utc_timestamp() ->
and os:system_time/1.
+
+
+ Returns a performance counter
+
+
Returns the current performance counter value in perf_counter
+ time unit.
+ This is a highly optimized call that might not be traceable.
+
+
+
+
+
+ Returns a performance counter
+
Returns a performance counter that can be used as a very fast and
+ high resolution timestamp. This counter is read directly from the hardware or operating
+ system with the same guarantees. This means that two consecutive calls
+ to the function are not guaranteed to be monotonic, though it most likely will be.
+ The performance counter till be converted to the resolution passed as an argument.
+
1> T1 = os:perf_counter(1000),receive after 10000 -> ok end,T2 = os:perf_counter(1000).
+176525861
+2> T2 - T1.
+10004
+
+ Return the OS family and, in some cases, OS name of the current operating system
--
cgit v1.2.3
From 18f0707c218ebdeb6024ecffd7704d3582e0b91c Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Tue, 2 Feb 2016 16:20:19 +0100
Subject: Use nano second time unit in tracing
---
lib/kernel/doc/src/seq_trace.xml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'lib/kernel/doc/src')
diff --git a/lib/kernel/doc/src/seq_trace.xml b/lib/kernel/doc/src/seq_trace.xml
index 9f191d488d..f4fcd222ec 100644
--- a/lib/kernel/doc/src/seq_trace.xml
+++ b/lib/kernel/doc/src/seq_trace.xml
@@ -136,7 +136,7 @@ seq_trace:set_token(OldToken), % activate the trace token again
Erlang
monotonic time and a monotonically increasing
integer. The time-stamp has the same format and value
- as produced by {erlang:monotonic_time(),
+ as produced by {erlang:monotonic_time(nano_seconds),
erlang:unique_integer([monotonic])}.
set_token(monotonic_timestamp, Bool)
@@ -147,7 +147,8 @@ seq_trace:set_token(OldToken), % activate the trace token again
will use
Erlang
monotonic time. The time-stamp has the same
- format and value as produced by erlang:monotonic_time().
+ format and value as produced by
+ erlang:monotonic_time(nano_seconds).
If multiple timestamp flags are passed, timestamp has
precedence over strict_monotonic_timestamp which
--
cgit v1.2.3