diff options
Diffstat (limited to 'lib/stdlib/doc/src')
| -rw-r--r-- | lib/stdlib/doc/src/dets.xml | 31 | ||||
| -rw-r--r-- | lib/stdlib/doc/src/ets.xml | 41 | ||||
| -rw-r--r-- | lib/stdlib/doc/src/filename.xml | 2 | ||||
| -rw-r--r-- | lib/stdlib/doc/src/notes.xml | 87 | ||||
| -rw-r--r-- | lib/stdlib/doc/src/supervisor.xml | 5 | 
5 files changed, 154 insertions, 12 deletions
| diff --git a/lib/stdlib/doc/src/dets.xml b/lib/stdlib/doc/src/dets.xml index a0d3f95b6a..48400733d1 100644 --- a/lib/stdlib/doc/src/dets.xml +++ b/lib/stdlib/doc/src/dets.xml @@ -399,15 +399,40 @@                kept in RAM.</p>            </item>            <item> -            <p><c>{safe_fixed,</c> SafeFixed<c>}</c>. If the table -              is fixed, SafeFixed is a tuple <c>{FixedAtTime, [{Pid,RefCount}]}</c>. <c>FixedAtTime</c> is the time when +            <p><c>{safe_fixed_monotonic_time, SafeFixed}</c>. If the table +              is fixed, <c>SafeFixed</c> is a tuple <c>{FixedAtTime, [{Pid,RefCount}]}</c>. +	      <c>FixedAtTime</c> is the time when                the table was first fixed, and <c>Pid</c> is the pid of                the process that fixes the table <c>RefCount</c> times.                There may be any number of processes in the list. If the                table is not fixed, SafeFixed is the atom <c>false</c>.</p> +	      <p><c>FixedAtTime</c> will correspond to the result +	      returned by +	      <seealso marker="erts:erlang#monotonic_time/0">erlang:monotonic_time/0</seealso> +	      at the time of fixation. The usage of <c>safe_fixed_monotonic_time</c> is +	      <seealso marker="erts:time_correction#Time_Warp_Safe_Code">time warp +	      safe</seealso>.</p>            </item>            <item> -            <p><c>{version, integer()</c>, the version of the format of +            <p> +	      <c>{safe_fixed, SafeFixed}</c>. The same as +	      <c>{safe_fixed_monotonic_time, SafeFixed}</c> with the exception +	      of the format and value of <c>FixedAtTime</c>. +	    </p> +	    <p> +	      <c>FixedAtTime</c> will correspond to the result returned by +	      <seealso marker="erts:erlang#timestamp/0">erlang:timestamp/0</seealso> +	      at the time of fixation. Note that when the system is using +	      single or multi +	      <seealso marker="erts:time_correction#Time_Warp_Modes">time warp +	      modes</seealso> this might produce strange results. This +	      since the usage of <c>safe_fixed</c> is not +	      <seealso marker="erts:time_correction#Time_Warp_Safe_Code">time warp +	      safe</seealso>. Time warp safe code need to use +	      <c>safe_fixed_monotonic_time</c> instead.</p> +          </item> +          <item> +            <p><c>{version, integer()}</c>, the version of the format of                the table.</p>            </item>          </list> diff --git a/lib/stdlib/doc/src/ets.xml b/lib/stdlib/doc/src/ets.xml index 7b01109ff8..447fe51130 100644 --- a/lib/stdlib/doc/src/ets.xml +++ b/lib/stdlib/doc/src/ets.xml @@ -488,14 +488,39 @@ Error: fun containing local Erlang function calls            <item><c>Item=fixed, Value=boolean()</c>          <br></br>             Indicates if the table is fixed by any process or not.</item> -          <item> -            <p><c>Item=safe_fixed, Value={FirstFixed,Info}|false</c>              <br></br> +          <item><marker id="info_2_safe_fixed_monotonic_time"/> +            <p><c>Item=safe_fixed|safe_fixed_monotonic_time, Value={FixationTime,Info}|false</c>              <br></br>  </p> -            <p>If the table has been fixed using <c>safe_fixtable/2</c>, -              the call returns a tuple where <c>FirstFixed</c> is the +            <p>If the table has been fixed using +	    <seealso marker="#safe_fixtable/2"><c>safe_fixtable/2</c></seealso>, +              the call returns a tuple where <c>FixationTime</c> is the                time when the table was first fixed by a process, which                may or may not be one of the processes it is fixed by                right now.</p> +	    <p>The format and value of <c>FixationTime</c> depends on +	    <c>Item</c>:</p> +	    <taglist> +	      <tag><c>safe_fixed</c></tag> +	      <item><p><c>FixationTime</c> will correspond to the result +	      returned by +	      <seealso marker="erts:erlang#timestamp/0">erlang:timestamp/0</seealso> +	      at the time of fixation. Note that when the system is using +	      single or multi +	      <seealso marker="erts:time_correction#Time_Warp_Modes">time warp +	      modes</seealso> this might produce strange results. This +	      since the usage of <c>safe_fixed</c> is not +	      <seealso marker="erts:time_correction#Time_Warp_Safe_Code">time warp +	      safe</seealso>. Time warp safe code need to use +	      <c>safe_fixed_monotonic_time</c> instead.</p></item> + +	      <tag><c>safe_fixed_monotonic_time</c></tag> +	      <item><p><c>FixationTime</c> will correspond to the result +	      returned by +	      <seealso marker="erts:erlang#monotonic_time/0">erlang:monotonic_time/0</seealso> +	      at the time of fixation. The usage of <c>safe_fixed_monotonic_time</c> is +	      <seealso marker="erts:time_correction#Time_Warp_Safe_Code">time warp +	      safe</seealso>.</p></item> +	    </taglist>              <p><c>Info</c> is a possibly empty lists of tuples                <c>{Pid,RefCount}</c>, one tuple for every process the                table is fixed by right now. <c>RefCount</c> is the value @@ -1135,9 +1160,11 @@ clean_all_with_value(Tab,X,Key) ->            table but never releases it, the memory used by the deleted            objects will never be freed. The performance of operations on            the table will also degrade significantly.</p> -        <p>Use <c>info/2</c> to retrieve information about which -          processes have fixed which tables. A system with a lot of -          processes fixing tables may need a monitor which sends alarms +        <p>Use +	<seealso marker="#info_2_safe_fixed_monotonic_time"><c>info(Tab, +	safe_fixed_monotonic_time)</c></seealso> to retrieve information +	about which processes have fixed which tables. A system with a lot +	of processes fixing tables may need a monitor which sends alarms            when tables have been fixed for too long.</p>          <p>Note that for tables of the <c>ordered_set</c> type,            <c>safe_fixtable/2</c> is not necessary as calls to diff --git a/lib/stdlib/doc/src/filename.xml b/lib/stdlib/doc/src/filename.xml index 77e262dbe6..1d4ffc10f9 100644 --- a/lib/stdlib/doc/src/filename.xml +++ b/lib/stdlib/doc/src/filename.xml @@ -214,7 +214,7 @@        <desc>          <p>Converts <c><anno>Path</anno></c> to a form accepted by the command shell            and native applications on the current platform. On Windows, -          forward slashes is converted to backward slashes. On all +          forward slashes are converted to backward slashes. On all            platforms, the name is normalized as done by <c>join/1</c>.</p>          <pre>  19> <input>filename:nativename("/usr/local/bin/").</input> % Unix diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 267a993a1b..5d4f9d912f 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,6 +31,93 @@    </header>    <p>This document describes the changes made to the STDLIB application.</p> +<section><title>STDLIB 2.8</title> + +    <section><title>Fixed Bugs and Malfunctions</title> +      <list> +        <item> +          <p> +	    Fix evaluation in matching of bound map key variables in +	    the interpreter.</p> +          <p> +	    Prior to this patch, the following code would not +	    evaluate: <c>X = key,(fun(#{X := value}) -> true +	    end)(#{X => value})</c></p> +          <p> +	    Own Id: OTP-13218</p> +        </item> +        <item> +	    <p> Fix <c>erl_eval</c> not using non-local function +	    handler. </p> +          <p> +	    Own Id: OTP-13228 Aux Id: ERL-32 </p> +        </item> +        <item> +	    <p> The Erlang Code Linter no longer crashes if there is +	    a <c>-deprecated()</c> attribute but no <c>-module()</c> +	    declaration. </p> +          <p> +	    Own Id: OTP-13230 Aux Id: ERL-62 </p> +        </item> +        <item> +          <p> +	    The timestamp in the result returned by <c>dets:info(Tab, +	    safe_fixed)</c> was unintentionally broken as a result of +	    the time API rewrites in OTP 18.0. This has now been +	    fixed.</p> +          <p> +	    Own Id: OTP-13239 Aux Id: OTP-11997 </p> +        </item> +        <item> +	    <p>A rare race condition in <c>beam_lib</c> when using +	    encrypted abstract format has been eliminated.</p> +          <p> +	    Own Id: OTP-13278</p> +        </item> +        <item> +          <p> +	    Improved maps:with/2 and maps:without/2 algorithms</p> +          <p> +	    The new implementation speeds up the execution +	    significantly for all sizes of input.</p> +          <p> +	    Own Id: OTP-13376</p> +        </item> +      </list> +    </section> + + +    <section><title>Improvements and New Features</title> +      <list> +        <item> +          <p> +	    Time warp safety improvements.</p> +          <p> +	    Introduced the options <c>monotonic_timestamp</c>, and +	    <c>strict_monotonic_timestamp</c> to the trace, +	    sequential trace, and system profile functionality. This +	    since the already existing <c>timestamp</c> option is not +	    time warp safe.</p> +          <p> +	    Introduced the option <c>safe_fixed_monotonic_time</c> to +	    <c>ets:info/2</c> and <c>dets:info/2</c>. This since the +	    already existing <c>safe_fixed</c> option is not time +	    warp safe.</p> +          <p> +	    Own Id: OTP-13222 Aux Id: OTP-11997 </p> +        </item> +        <item> +          <p> +	    In the shell Ctrl+W (delete word) will no longer consider +	    "." as being part of a word.</p> +          <p> +	    Own Id: OTP-13281</p> +        </item> +      </list> +    </section> + +</section> +  <section><title>STDLIB 2.7</title>      <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/stdlib/doc/src/supervisor.xml b/lib/stdlib/doc/src/supervisor.xml index 24ff251ce3..815bf4a489 100644 --- a/lib/stdlib/doc/src/supervisor.xml +++ b/lib/stdlib/doc/src/supervisor.xml @@ -543,7 +543,10 @@            </item>            <item>              <p><c>active</c> - the count of all actively running child processes -              managed by this supervisor.</p> +              managed by this supervisor. In the case of <c>simple_one_for_one</c> +              supervisors, no check is carried out to ensure that each child process +              is still alive, though the result provided here is likely to be very +              accurate unless the supervisor is heavily overloaded.</p>            </item>            <item>              <p><c>supervisors</c> - the count of all children marked as | 
