fix(exproto): fix badarg is_process_alive/1

This commit is contained in:
JianBo He 2021-08-13 16:41:16 +08:00 committed by turtleDeng
parent dffa81120c
commit 473e600b53
1 changed files with 7 additions and 5 deletions

View File

@ -123,12 +123,14 @@ call(ConnStr, Req) ->
{error, ?RESP_PARAMS_TYPE_ERROR,
<<"The conn type error">>};
Pid when is_pid(Pid) ->
case erlang:is_process_alive(Pid) of
true ->
emqx_exproto_conn:call(Pid, Req);
false ->
case catch emqx_exproto_conn:call(Pid, Req) of
{'EXIT',{noproc, _}} ->
{error, ?RESP_CONN_PROCESS_NOT_ALIVE,
<<"Connection process is not alive">>}
<<"Connection process is not alive">>};
{'EXIT',{timeout, _}} ->
{error, ?RESP_UNKNOWN, <<"Connection is not answered">>};
Result ->
Result
end
end.