diff options
author | Sverker Eriksson <[email protected]> | 2019-03-15 16:08:04 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2019-03-15 16:08:04 +0100 |
commit | 80f103c64904b29e2f3d880148dd5b032cae0c02 (patch) | |
tree | 9ceb7fe8c4c65204c8d7f59e7b0260c321ee7c3b /lib/stdlib/doc | |
parent | 702ef9b0fa0a9b7345e3b397f23d8a76a2ac4df2 (diff) | |
parent | 0d550c80d4f19cc432e7de056169695d436c02a0 (diff) | |
download | otp-80f103c64904b29e2f3d880148dd5b032cae0c02.tar.gz otp-80f103c64904b29e2f3d880148dd5b032cae0c02.tar.bz2 otp-80f103c64904b29e2f3d880148dd5b032cae0c02.zip |
Merge branch 'sverker/ets-select-fixation-owner-change-bug/OTP-15672'
* sverker/ets-select-fixation-owner-change-bug/OTP-15672:
erts: Fix ets:select table fixation leak at owner change
erts: Refactor common things into traverse_context_t
stdlib: Clarify docs for ets:info(_, safe_fixed)
Diffstat (limited to 'lib/stdlib/doc')
-rw-r--r-- | lib/stdlib/doc/src/ets.xml | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/stdlib/doc/src/ets.xml b/lib/stdlib/doc/src/ets.xml index d2ac6a75b1..2cb677785d 100644 --- a/lib/stdlib/doc/src/ets.xml +++ b/lib/stdlib/doc/src/ets.xml @@ -642,12 +642,11 @@ Error: fun containing local Erlang function calls <p><marker id="info_2_safe_fixed_monotonic_time"/></p> <p><c>Item=safe_fixed|safe_fixed_monotonic_time, Value={FixationTime,Info}|false</c></p> - <p>If the table has been fixed using + <p>If the table is 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 either - is or is not one of the processes it is fixed by now.</p> + last time when the table changed from unfixed to fixed.</p> <p>The format and value of <c>FixationTime</c> depends on <c>Item</c>:</p> <taglist> @@ -679,8 +678,15 @@ Error: fun containing local Erlang function calls table is fixed by now. <c>RefCount</c> is the value of the reference counter and it keeps track of how many times the table has been fixed by the process.</p> - <p>If the table never has been fixed, the call returns - <c>false</c>.</p> + <p>Table fixations are not limited to <seealso marker="#safe_fixtable/2"> + <c>safe_fixtable/2</c></seealso>. Temporary fixations may also + be done by for example <seealso marker="#traversal">traversing + functions</seealso> like <c>select</c> and <c>match</c>. Such + table fixations are automatically released before the + corresponding functions returns, but they may be seen by a + concurrent call to + <c>ets:info(T,safe_fixed|safe_fixed_monotonic_time)</c>.</p> + <p>If the table is not fixed at all, the call returns <c>false</c>.</p> </item> <item> <p><c>Item=stats, Value=tuple()</c></p> |