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(-) 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