aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorRichard Carlsson <[email protected]>2019-01-09 14:14:58 +0100
committerRichard Carlsson <[email protected]>2019-01-14 14:22:26 +0100
commite96f66d8817d89c51b5066ed0cd69fcda8620306 (patch)
treef63839cbcec202cef1da3126ce89443c3d208761 /erts
parentf0ea49125815ec9197ffb6c74e20ebb5f10732d4 (diff)
downloadotp-e96f66d8817d89c51b5066ed0cd69fcda8620306.tar.gz
otp-e96f66d8817d89c51b5066ed0cd69fcda8620306.tar.bz2
otp-e96f66d8817d89c51b5066ed0cd69fcda8620306.zip
Document that current_function can be undefined
If a process is executing in native-compiled code, process_info(Pid, current_function) may return the atom undefined instead of an MFA.
Diffstat (limited to 'erts')
-rw-r--r--erts/doc/src/erlang.xml6
-rw-r--r--erts/preloaded/src/erlang.erl2
2 files changed, 5 insertions, 3 deletions
diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
index 8e014c3010..ab9aadcc54 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -5182,11 +5182,13 @@ RealSystem = system + MissedSystem</code>
changed or removed without prior notice.</p>
</item>
<tag><c>{current_function, {<anno>Module</anno>,
- <anno>Function</anno>, Arity}}</c></tag>
+ <anno>Function</anno>, Arity} | undefined}</c></tag>
<item>
<p><c><anno>Module</anno></c>, <c><anno>Function</anno></c>,
<c><anno>Arity</anno></c> is
- the current function call of the process.</p>
+ the current function call of the process. The value
+ <c>undefined</c> can be returned if the process is
+ currently executing native compiled code.</p>
</item>
<tag><c>{current_location, {<anno>Module</anno>,
<anno>Function</anno>, <anno>Arity</anno>,
diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl
index 1ed6b6b284..59c96ceb3c 100644
--- a/erts/preloaded/src/erlang.erl
+++ b/erts/preloaded/src/erlang.erl
@@ -2295,7 +2295,7 @@ process_flag(_Flag, _Value) ->
non_neg_integer()}]} |
{catchlevel, CatchLevel :: non_neg_integer()} |
{current_function,
- {Module :: module(), Function :: atom(), Arity :: arity()}} |
+ {Module :: module(), Function :: atom(), Arity :: arity()} | undefined} |
{current_location,
{Module :: module(), Function :: atom(), Arity :: arity(),
Location :: [{file, Filename :: string()} | % not a stack_item()!