From e96f66d8817d89c51b5066ed0cd69fcda8620306 Mon Sep 17 00:00:00 2001
From: Richard Carlsson
Date: Wed, 9 Jan 2019 14:14:58 +0100
Subject: 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.
---
erts/doc/src/erlang.xml | 6 ++++--
erts/preloaded/src/erlang.erl | 2 +-
2 files changed, 5 insertions(+), 3 deletions(-)
(limited to 'erts')
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
changed or removed without prior notice.
{current_function, {Module,
- Function, Arity}}
+ Function, Arity} | undefined}
-
Module, Function,
Arity is
- the current function call of the process.
+ the current function call of the process. The value
+ undefined can be returned if the process is
+ currently executing native compiled code.
{current_location, {Module,
Function, Arity,
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()!
--
cgit v1.2.3