From 6f405dc12834b705d373ca22c22e9c0fcea1ec95 Mon Sep 17 00:00:00 2001 From: chenyy Date: Fri, 29 Jun 2018 15:10:12 +0800 Subject: [PATCH] =?UTF-8?q?remove=20=3FMODULE=20because=20we=20don?= =?UTF-8?q?=E2=80=99t=20need=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/emqx_pmon.erl | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/emqx_pmon.erl b/src/emqx_pmon.erl index 6af403a2d..f6b4611ec 100644 --- a/src/emqx_pmon.erl +++ b/src/emqx_pmon.erl @@ -20,45 +20,45 @@ -export([monitor/2, monitor/3, demonitor/2, find/2, erase/2]). --compile({no_auto_import,[monitor/3]}). - --type(pmon() :: {?MODULE, map()}). +-compile({no_auto_import,[monitor/3]}). +-type(pmon() :: map()). -export_type([pmon/0]). +-spec(new() -> pmon()). new() -> - {?MODULE, [maps:new()]}. + maps:new(). -spec(monitor(pid(), pmon()) -> pmon()). monitor(Pid, PM) -> monitor(Pid, undefined, PM). -monitor(Pid, Val, PM = {?MODULE, [M]}) -> - case maps:is_key(Pid, M) of +monitor(Pid, Val, PM) -> + case maps:is_key(Pid, PM) of true -> PM; false -> Ref = erlang:monitor(process, Pid), - {?MODULE, [maps:put(Pid, {Ref, Val}, M)]} + maps:put(Pid, {Ref, Val}, PM) end. -spec(demonitor(pid(), pmon()) -> pmon()). -demonitor(Pid, PM = {?MODULE, [M]}) -> - case maps:find(Pid, M) of +demonitor(Pid, PM) -> + case maps:find(Pid, PM) of {ok, {Ref, _Val}} -> %% Don't flush _ = erlang:demonitor(Ref), - {?MODULE, [maps:remove(Pid, M)]}; + maps:remove(Pid, PM); error -> PM end. -spec(find(pid(), pmon()) -> undefined | term()). -find(Pid, {?MODULE, [M]}) -> - case maps:find(Pid, M) of +find(Pid, PM) -> + case maps:find(Pid, PM) of {ok, {_Ref, Val}} -> Val; error -> undefined end. -spec(erase(pid(), pmon()) -> pmon()). -erase(Pid, {?MODULE, [M]}) -> - {?MODULE, [maps:remove(Pid, M)]}. +erase(Pid, PM) -> + maps:remove(Pid, PM).