remove ?MODULE because we don’t need it
This commit is contained in:
parent
385c7cd3e6
commit
6f405dc128
|
@ -21,44 +21,44 @@
|
||||||
-export([monitor/2, monitor/3, demonitor/2, find/2, erase/2]).
|
-export([monitor/2, monitor/3, demonitor/2, find/2, erase/2]).
|
||||||
|
|
||||||
-compile({no_auto_import,[monitor/3]}).
|
-compile({no_auto_import,[monitor/3]}).
|
||||||
|
-type(pmon() :: map()).
|
||||||
-type(pmon() :: {?MODULE, map()}).
|
|
||||||
|
|
||||||
-export_type([pmon/0]).
|
-export_type([pmon/0]).
|
||||||
|
|
||||||
|
-spec(new() -> pmon()).
|
||||||
new() ->
|
new() ->
|
||||||
{?MODULE, [maps:new()]}.
|
maps:new().
|
||||||
|
|
||||||
-spec(monitor(pid(), pmon()) -> pmon()).
|
-spec(monitor(pid(), pmon()) -> pmon()).
|
||||||
monitor(Pid, PM) ->
|
monitor(Pid, PM) ->
|
||||||
monitor(Pid, undefined, PM).
|
monitor(Pid, undefined, PM).
|
||||||
|
|
||||||
monitor(Pid, Val, PM = {?MODULE, [M]}) ->
|
monitor(Pid, Val, PM) ->
|
||||||
case maps:is_key(Pid, M) of
|
case maps:is_key(Pid, PM) of
|
||||||
true -> PM;
|
true -> PM;
|
||||||
false -> Ref = erlang:monitor(process, Pid),
|
false -> Ref = erlang:monitor(process, Pid),
|
||||||
{?MODULE, [maps:put(Pid, {Ref, Val}, M)]}
|
maps:put(Pid, {Ref, Val}, PM)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
-spec(demonitor(pid(), pmon()) -> pmon()).
|
-spec(demonitor(pid(), pmon()) -> pmon()).
|
||||||
demonitor(Pid, PM = {?MODULE, [M]}) ->
|
demonitor(Pid, PM) ->
|
||||||
case maps:find(Pid, M) of
|
case maps:find(Pid, PM) of
|
||||||
{ok, {Ref, _Val}} ->
|
{ok, {Ref, _Val}} ->
|
||||||
%% Don't flush
|
%% Don't flush
|
||||||
_ = erlang:demonitor(Ref),
|
_ = erlang:demonitor(Ref),
|
||||||
{?MODULE, [maps:remove(Pid, M)]};
|
maps:remove(Pid, PM);
|
||||||
error -> PM
|
error -> PM
|
||||||
end.
|
end.
|
||||||
|
|
||||||
-spec(find(pid(), pmon()) -> undefined | term()).
|
-spec(find(pid(), pmon()) -> undefined | term()).
|
||||||
find(Pid, {?MODULE, [M]}) ->
|
find(Pid, PM) ->
|
||||||
case maps:find(Pid, M) of
|
case maps:find(Pid, PM) of
|
||||||
{ok, {_Ref, Val}} ->
|
{ok, {_Ref, Val}} ->
|
||||||
Val;
|
Val;
|
||||||
error -> undefined
|
error -> undefined
|
||||||
end.
|
end.
|
||||||
|
|
||||||
-spec(erase(pid(), pmon()) -> pmon()).
|
-spec(erase(pid(), pmon()) -> pmon()).
|
||||||
erase(Pid, {?MODULE, [M]}) ->
|
erase(Pid, PM) ->
|
||||||
{?MODULE, [maps:remove(Pid, M)]}.
|
maps:remove(Pid, PM).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue