瀏覽代碼

ft: es_gen_ipc.erl sync

master
SisMaker 4 年之前
父節點
當前提交
a15b388928
共有 1 個檔案被更改,包括 80 行新增64 行删除
  1. +80
    -64
      src/sync/es_gen_ipc.erl

+ 80
- 64
src/sync/es_gen_ipc.erl 查看文件

@ -13,7 +13,7 @@
, cast/2, send/2 , cast/2, send/2
, abcast/2, abcast/3 , abcast/2, abcast/3
, call/2, call/3 , call/2, call/3
, send_request/2, wait_response/1, wait_response/2, check_response/2
, send_request/2, wait_response/1, wait_response/2, receive_response/1, receive_response/2, check_response/2
, multi_call/2, multi_call/3, multi_call/4 , multi_call/2, multi_call/3, multi_call/4
, enter_loop/4, enter_loop/5, enter_loop/6 , enter_loop/4, enter_loop/5, enter_loop/6
, reply/1, reply/2 , reply/1, reply/2
@ -365,7 +365,7 @@ doModuleInit(Module, Args) ->
Module:init(Args) Module:init(Args)
catch catch
throw:Ret -> Ret; throw:Ret -> Ret;
Class:Reason -> {'EXIT', Class, Reason, ?STACKTRACE()}
Class:Reason:Stacktrace -> {'EXIT', Class, Reason, Stacktrace}
end. end.
init_it(Starter, self, ServerRef, Module, Args, Opts) -> init_it(Starter, self, ServerRef, Module, Args, Opts) ->
@ -685,6 +685,14 @@ wait_response(RequestId) ->
wait_response(RequestId, Timeout) -> wait_response(RequestId, Timeout) ->
gen:wait_response(RequestId, Timeout). gen:wait_response(RequestId, Timeout).
-spec receive_response(RequestId::serverRef()) -> {reply, Reply::term()} | {error, {term(), serverRef()}}.
receive_response(RequestId) ->
gen:receive_response(RequestId, infinity).
-spec receive_response(RequestId::requestId(), timeout()) -> {reply, Reply::term()} | 'timeout' | {error, {term(), serverRef()}}.
receive_response(RequestId, Timeout) ->
gen:receive_response(RequestId, Timeout).
-spec check_response(Msg :: term(), RequestId :: requestId()) -> -spec check_response(Msg :: term(), RequestId :: requestId()) ->
{reply, Reply :: term()} | 'no_reply' | {error, {term(), serverRef()}}. {reply, Reply :: term()} | 'no_reply' | {error, {term(), serverRef()}}.
check_response(Msg, RequestId) -> check_response(Msg, RequestId) ->
@ -820,6 +828,9 @@ reply(Replies) when is_list(Replies) ->
ok. ok.
-spec reply(From :: from(), Reply :: term()) -> ok. -spec reply(From :: from(), Reply :: term()) -> ok.
reply({_To, [alias|Alias] = Tag}, Reply) ->
Alias ! {Tag, Reply},
ok;
reply({To, Tag}, Reply) -> reply({To, Tag}, Reply) ->
try To ! {Tag, Reply}, try To ! {Tag, Reply},
ok ok
@ -835,6 +846,7 @@ try_reply({To, Ref}, Msg) ->
catch _:_ -> catch _:_ ->
ok ok
end. end.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% API helpers end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% API helpers end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% gen_event start %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% gen_event start %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
epmRequest({global, Name}, Msg) -> epmRequest({global, Name}, Msg) ->
@ -936,8 +948,8 @@ doAddEpm(EpmHers, {Module, _SubId} = EpmId, Args, EpmSup) ->
catch catch
throw:Ret -> throw:Ret ->
addNewEpm(Ret, EpmHers, Module, EpmId, EpmSup); addNewEpm(Ret, EpmHers, Module, EpmId, EpmSup);
C:R ->
{{error, {C, R, ?STACKTRACE()}}, EpmHers, false}
C:R:S ->
{{error, {C, R, S}}, EpmHers, false}
end end
end; end;
doAddEpm(EpmHers, Module, Args, EpmSup) -> doAddEpm(EpmHers, Module, Args, EpmSup) ->
@ -951,8 +963,8 @@ doAddEpm(EpmHers, Module, Args, EpmSup) ->
catch catch
throw:Ret -> throw:Ret ->
addNewEpm(Ret, EpmHers, Module, Module, EpmSup); addNewEpm(Ret, EpmHers, Module, Module, EpmSup);
C:R ->
{{error, {C, R, ?STACKTRACE()}}, EpmHers, false}
C:R:S ->
{{error, {C, R, S}}, EpmHers, false}
end end
end. end.
@ -1011,9 +1023,9 @@ doEpmHandle(EpmHers, EpmHandler, Func, Event, From) ->
catch catch
throw:Ret -> throw:Ret ->
handleEpmCR(Ret, EpmHers, EpmHer, Event, From); handleEpmCR(Ret, EpmHers, EpmHer, Event, From);
C:R ->
epmTerminate(EpmHer, {error, {C, R, ?STACKTRACE()}}, Event, crash),
NewEpmHers = maps:remove(EpmHandler, EpmHer),
C:R:S ->
epmTerminate(EpmHer, {error, {C, R, S}}, Event, crash),
NewEpmHers = maps:remove(EpmHandler, EpmHers),
{NewEpmHers, false} {NewEpmHers, false}
end; end;
_ -> _ ->
@ -1067,7 +1079,7 @@ report_error(#epmHer{epmId = EpmId, epmM = EpmM}, Reason, State, LastIn) ->
handler => {EpmId, EpmM}, handler => {EpmId, EpmM},
name => undefined, name => undefined,
last_message => LastIn, last_message => LastIn,
state=> State,
state => State,
reason => Reason reason => Reason
}, },
#{ #{
@ -1210,8 +1222,8 @@ matchCallMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Post
catch catch
throw:Result -> throw:Result ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent], Result, ?CB_FORM_EVENT, From); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent], Result, ?CB_FORM_EVENT, From);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent])
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent])
end. end.
matchCastMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, Cast) -> matchCastMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, Cast) ->
@ -1223,8 +1235,8 @@ matchCastMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Post
catch catch
throw:Result -> throw:Result ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent], Result, ?CB_FORM_EVENT, false); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent], Result, ?CB_FORM_EVENT, false);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent])
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent])
end. end.
matchInfoMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, Msg) -> matchInfoMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, Msg) ->
@ -1236,8 +1248,8 @@ matchInfoMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Post
catch catch
throw:Result -> throw:Result ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent], Result, ?CB_FORM_EVENT, false); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent], Result, ?CB_FORM_EVENT, false);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent])
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent])
end. end.
matchTimeoutMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, TimeoutType, TimeoutMsg) -> matchTimeoutMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, TimeoutType, TimeoutMsg) ->
@ -1249,8 +1261,8 @@ matchTimeoutMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, P
catch catch
throw:Result -> throw:Result ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent], Result, ?CB_FORM_EVENT, false); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent], Result, ?CB_FORM_EVENT, false);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent])
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [CurEvent])
end. end.
matchEpmCallMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, From, Request) -> matchEpmCallMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, From, Request) ->
@ -1308,8 +1320,8 @@ startEpmCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Post
catch catch
throw:Ret -> throw:Ret ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [Event], Ret, ?CB_FORM_EVENT, false); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [Event], Ret, ?CB_FORM_EVENT, false);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [Event])
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, NewDebug, [Event])
end; end;
_ -> _ ->
receiveIng(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, IsHib) receiveIng(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, IsHib)
@ -1322,8 +1334,8 @@ startEnterCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Po
catch catch
throw:Result -> throw:Result ->
handleEnterCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, PrevStatus, CurState, CurStatus, Debug, LeftEvents, NextEs, IsPos, IsHib, DoAfter, Result); handleEnterCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, PrevStatus, CurState, CurStatus, Debug, LeftEvents, NextEs, IsPos, IsHib, DoAfter, Result);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
end. end.
startAfterCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Args) -> startAfterCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Args) ->
@ -1333,8 +1345,8 @@ startAfterCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Po
catch catch
throw:Result -> throw:Result ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Result, ?CB_FORM_AFTER, false); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Result, ?CB_FORM_AFTER, false);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
end. end.
startEventCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, {Type, Content}) -> startEventCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, {Type, Content}) ->
@ -1346,8 +1358,8 @@ startEventCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Po
catch catch
throw:Ret -> throw:Ret ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Ret, ?CB_FORM_EVENT, false); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Ret, ?CB_FORM_EVENT, false);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
end; end;
'info' -> 'info' ->
try Module:handleInfo(Content, CurStatus, CurState) of try Module:handleInfo(Content, CurStatus, CurState) of
@ -1356,8 +1368,8 @@ startEventCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Po
catch catch
throw:Ret -> throw:Ret ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Ret, ?CB_FORM_EVENT, false); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Ret, ?CB_FORM_EVENT, false);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
end; end;
{'call', From} -> {'call', From} ->
try Module:handleCall(Content, CurStatus, CurState, From) of try Module:handleCall(Content, CurStatus, CurState, From) of
@ -1366,8 +1378,8 @@ startEventCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Po
catch catch
throw:Ret -> throw:Ret ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Ret, ?CB_FORM_EVENT, From); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Ret, ?CB_FORM_EVENT, From);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
end; end;
_ -> _ ->
try Module:handleOnevent(Type, Content, CurStatus, CurState) of try Module:handleOnevent(Type, Content, CurStatus, CurState) of
@ -1376,8 +1388,8 @@ startEventCall(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Po
catch catch
throw:Ret -> throw:Ret ->
handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Ret, ?CB_FORM_EVENT, false); handleEventCR(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents, Ret, ?CB_FORM_EVENT, false);
Class:Reason ->
terminate(Class, Reason, ?STACKTRACE(), Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
Class:Reason:Strace ->
terminate(Class, Reason, Strace, Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, LeftEvents)
end end
end. end.
@ -2124,15 +2136,17 @@ format_log(Report) ->
limit_report(Report, unlimited) -> limit_report(Report, unlimited) ->
Report; Report;
limit_report( limit_report(
#{label:={es_gen_ipc, terminate},
queue:=Q,
postponed:=Postponed,
module:=Module,
status:=FmtData,
timeouts:=Timeouts,
log:=Log,
reason:={Class, Reason, Stacktrace},
client_info:=ClientInfo} = Report,
#{
label := {es_gen_ipc, terminate},
queue := Q,
postponed := Postponed,
module := Module,
status := FmtData,
timeouts := Timeouts,
log := Log,
reason := {Class, Reason, Stacktrace},
client_info := ClientInfo
} = Report,
Depth) -> Depth) ->
Report#{ Report#{
queue => queue =>
@ -2181,25 +2195,26 @@ format_log(Report, FormatOpts0) ->
FormatOpts = maps:merge(Default, FormatOpts0), FormatOpts = maps:merge(Default, FormatOpts0),
IoOpts = IoOpts =
case FormatOpts of case FormatOpts of
#{ chars_limit:=unlimited} -> [];
#{ chars_limit:=Limit} -> [{chars_limit, Limit}]
#{chars_limit := unlimited} -> [];
#{chars_limit := Limit} -> [{chars_limit, Limit}]
end, end,
{Format, Args} = format_log_single(Report, FormatOpts), {Format, Args} = format_log_single(Report, FormatOpts),
io_lib:format(Format, Args, IoOpts). io_lib:format(Format, Args, IoOpts).
format_log_single( format_log_single(
#{ #{
label:={es_gen_ipc, terminate},
name:=Name,
queue:=Q,
label := {es_gen_ipc, terminate},
name := Name,
queue := Q,
%% postponed %% postponed
%% isEnter %% isEnter
status:=FmtData,
status := FmtData,
%% timeouts %% timeouts
log:=Log,
reason:={Class, Reason, Stacktrace},
client_info:=ClientInfo},
#{single_line:=true, depth:=Depth} = FormatOpts) ->
log := Log,
reason := {Class, Reason, Stacktrace},
client_info := ClientInfo
},
#{single_line := true, depth := Depth} = FormatOpts) ->
P = p(FormatOpts), P = p(FormatOpts),
{FixedReason, FixedStacktrace} = fix_reason(Class, Reason, Stacktrace), {FixedReason, FixedStacktrace} = fix_reason(Class, Reason, Stacktrace),
{ClientFmt, ClientArgs} = format_client_log_single(ClientInfo, P, Depth), {ClientFmt, ClientArgs} = format_client_log_single(ClientInfo, P, Depth),
@ -2249,18 +2264,19 @@ format_log_single(Report, FormatOpts) ->
format_log_multi( format_log_multi(
#{ #{
label:={es_gen_ipc, terminate},
name:=Name,
queue:=Q,
postponed:=Postponed,
module:=Module,
isEnter:=StateEnter,
status:=FmtData,
timeouts:=Timeouts,
log:=Log,
reason:={Class, Reason, Stacktrace},
client_info:=ClientInfo},
#{depth:=Depth} = FormatOpts) ->
label := {es_gen_ipc, terminate},
name := Name,
queue := Q,
postponed := Postponed,
module := Module,
isEnter := StateEnter,
status := FmtData,
timeouts := Timeouts,
log := Log,
reason := {Class, Reason, Stacktrace},
client_info := ClientInfo
},
#{depth := Depth} = FormatOpts) ->
P = p(FormatOpts), P = p(FormatOpts),
{FixedReason, FixedStacktrace} = fix_reason(Class, Reason, Stacktrace), {FixedReason, FixedStacktrace} = fix_reason(Class, Reason, Stacktrace),
{ClientFmt, ClientArgs} = format_client_log(ClientInfo, P, Depth), {ClientFmt, ClientArgs} = format_client_log(ClientInfo, P, Depth),
@ -2403,7 +2419,7 @@ format_client_log({_Pid, {Name, Stacktrace}}, P, Depth) ->
end, end,
{Format, Args}. {Format, Args}.
p(#{ single_line:=Single, depth:=Depth, encoding:=Enc}) ->
p(#{single_line := Single, depth := Depth, encoding := Enc}) ->
"~" ++ single(Single) ++ mod(Enc) ++ p(Depth); "~" ++ single(Single) ++ mod(Enc) ++ p(Depth);
p(unlimited) -> p(unlimited) ->
"p"; "p";

Loading…
取消
儲存