Skip to content

Commit 9451e69

Browse files
author
José Valim
committed
Improve task log based on @fishcakez feedback
1 parent 9243508 commit 9451e69

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

lib/elixir/lib/process.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ defmodule Process do
274274
already registered (check with `registered?/1`).
275275
"""
276276
@spec register(pid | port, atom) :: true
277-
def register(pid, name) do
277+
def register(pid, name) when not name in [nil, false, true] do
278278
:erlang.register(name, pid)
279279
end
280280

lib/elixir/lib/task/supervised.ex

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,22 @@ defmodule Task.Supervised do
6969
end
7070

7171
defp exit(info, mfa, reason) do
72+
{fun, args} = get_running(mfa)
73+
7274
:error_logger.format(
7375
"** Task ~p terminating~n" <>
7476
"** Started from ~p~n" <>
75-
"** Running ~p~n" <>
77+
"** When function == ~p~n" <>
78+
"** arguments == ~p~n" <>
7679
"** Reason for termination == ~n" <>
77-
"** ~p~n", [self, get_from(info), get_running(mfa), reason])
80+
"** ~p~n", [self, get_from(info), fun, args, reason])
7881

7982
exit(reason)
8083
end
8184

8285
defp get_from({node, pid_or_name}) when node == node(), do: pid_or_name
8386
defp get_from(other), do: other
8487

85-
defp get_running({:erlang, :apply, [fun, []]}), do: fun
86-
defp get_running(other), do: other
88+
defp get_running({:erlang, :apply, [fun, []]}) when is_function(fun, 0), do: {fun, []}
89+
defp get_running({mod, fun, args}), do: {:erlang.make_fun(mod, fun, length(args)), args}
8790
end

0 commit comments

Comments
 (0)