From 696d4a4e584c4b4bcbe59b0667d60936a09b7b23 Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Mon, 31 May 2021 12:14:25 +0800 Subject: [PATCH] fix(emqx_resource): some dialyzer complaints --- apps/emqx_resource/rebar.config | 2 ++ apps/emqx_resource/src/emqx_resource_instance.erl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/apps/emqx_resource/rebar.config b/apps/emqx_resource/rebar.config index 089985cec..148af92bd 100644 --- a/apps/emqx_resource/rebar.config +++ b/apps/emqx_resource/rebar.config @@ -7,6 +7,8 @@ {extra_src_dirs, ["examples"]}. +%% try to override the dialyzer 'race_conditions' defined in the top-level dir, +%% but it doesn't work {dialyzer, [{warnings, [unmatched_returns, error_handling]} ]}. diff --git a/apps/emqx_resource/src/emqx_resource_instance.erl b/apps/emqx_resource/src/emqx_resource_instance.erl index a78a2e15a..ca5e4829e 100644 --- a/apps/emqx_resource/src/emqx_resource_instance.erl +++ b/apps/emqx_resource/src/emqx_resource_instance.erl @@ -175,6 +175,8 @@ code_change(_OldVsn, State, _Extra) -> %%------------------------------------------------------------------------------ +%% suppress the race condition check, as these functions are protected in gproc workers +-dialyzer({nowarn_function, [do_update/4, do_create/3, do_restart/1, do_stop/1, do_health_check/1]}). do_update(InstId, ResourceType, NewConfig, Params) -> case lookup(InstId) of {ok, #{mod := ResourceType, state := ResourceState, config := OldConfig}} ->