From 0dd068135dcb864a0761e9895d41e606dfa26d68 Mon Sep 17 00:00:00 2001 From: Rory Z Date: Fri, 18 Jun 2021 16:14:31 +0800 Subject: [PATCH] chore(hooks): delete is_function() --- apps/emqx/src/emqx.erl | 2 +- apps/emqx/src/emqx_hooks.erl | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/emqx/src/emqx.erl b/apps/emqx/src/emqx.erl index 886753a7f..9c42e96a3 100644 --- a/apps/emqx/src/emqx.erl +++ b/apps/emqx/src/emqx.erl @@ -197,7 +197,7 @@ hook(HookPoint, Action) -> -> ok | {error, already_exists}). hook(HookPoint, Action, Priority) when is_integer(Priority) -> emqx_hooks:add(HookPoint, Action, Priority); -hook(HookPoint, Action, Filter) when is_function(Filter); is_tuple(Filter) -> +hook(HookPoint, Action, {_M, _F, _A} = Filter ) -> emqx_hooks:add(HookPoint, Action, Filter). -spec(hook(emqx_hooks:hookpoint(), emqx_hooks:action(), emqx_hooks:filter(), integer()) diff --git a/apps/emqx/src/emqx_hooks.erl b/apps/emqx/src/emqx_hooks.erl index ae170dcd5..242d85be2 100644 --- a/apps/emqx/src/emqx_hooks.erl +++ b/apps/emqx/src/emqx_hooks.erl @@ -118,7 +118,7 @@ add(HookPoint, Action) when is_function(Action); is_tuple(Action) -> -spec(add(hookpoint(), action(), filter() | integer() | list()) -> ok_or_error(already_exists)). -add(HookPoint, Action, Filter) when is_function(Filter); is_tuple(Filter) -> +add(HookPoint, Action, {_M, _F, _A} = Filter) -> add(HookPoint, #callback{action = Action, filter = Filter, priority = 0}); add(HookPoint, Action, Priority) when is_integer(Priority) -> add(HookPoint, #callback{action = Action, priority = Priority}). @@ -185,12 +185,12 @@ filter_passed(undefined, _Args) -> true; filter_passed(Filter, Args) -> execute(Filter, Args). -safe_execute(Fun, Args) -> - try execute(Fun, Args) of +safe_execute({M, F, A}, Args) -> + try execute({M, F, A}, Args) of Result -> Result catch Error:Reason:Stacktrace -> - ?LOG(error, "Failed to execute ~0p: ~0p", [Fun, {Error, Reason, Stacktrace}]), + ?LOG(error, "Failed to execute ~0p: ~0p", [{M, F, A}, {Error, Reason, Stacktrace}]), ok end.