summaryrefslogtreecommitdiffstats
path: root/src/ct_helper.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ct_helper.erl')
-rw-r--r--src/ct_helper.erl12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/ct_helper.erl b/src/ct_helper.erl
index 22a6be6..e1b4ab3 100644
--- a/src/ct_helper.erl
+++ b/src/ct_helper.erl
@@ -159,9 +159,19 @@ make_certs_in_ets() ->
ok.
%% @doc Return the name of the calling function.
+%%
+%% With a native VM we always return the current pid because
+%% the stacktrace is not as well maintained and may not return
+%% the correct function name, especially when there is a mix
+%% of normal and native code.
name() ->
- element(2, hd(tl(element(2, process_info(self(), current_stacktrace))))).
+ case code:is_module_native(kernel) of
+ true ->
+ self();
+ false ->
+ element(2, hd(tl(element(2, process_info(self(), current_stacktrace)))))
+ end.
%% @doc Start and stop applications and their dependencies.