Pārlūkot izejas kodu

ft: 睡眠优化

master
SisMaker pirms 1 gada
vecāks
revīzija
632c9f4e1f
3 mainītis faili ar 20 papildinājumiem un 20 dzēšanām
  1. +8
    -8
      src/gen_ipc.erl
  2. +6
    -6
      src/gen_mpp.erl
  3. +6
    -6
      src/gen_srv.erl

+ 8
- 8
src/gen_ipc.erl Parādīt failu

@ -42,7 +42,7 @@
, format_status/2
%% Internal callbacks
, wakeupFromHib/12
, wakeupFromHib/11
%% logger callback
, format_log/1
, format_log/2
@ -448,9 +448,9 @@ loopEntry(Parent, Debug, Module, Name, HibernateAfterTimeout, CurStatus, CurStat
system_continue(Parent, Debug, {Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, IsHib}) ->
if
IsHib ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, IsHib]);
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug]);
true ->
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, false)
end.
system_terminate(Reason, Parent, Debug, {Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, _IsHib}) ->
@ -1098,18 +1098,18 @@ listify(Item) ->
[Item].
%%%==========================================================================
%%% Internal callbacks
wakeupFromHib(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, IsHib) ->
wakeupFromHib(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug) ->
%%
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, true).
%%%==========================================================================
%% Entry point for system_continue/3
reLoopEntry(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, IsHib) ->
if
IsHib ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, IsHib]);
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug]);
true ->
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, false)
end.
%%
@ -1149,7 +1149,7 @@ receiveIng(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postpo
end
after
HibernateAfterTimeout ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, IsHib])
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug])
end.
matchCallMsg(Parent, Name, Module, HibernateAfterTimeout, IsEnter, EpmHers, Postponed, Timers, CurStatus, CurState, Debug, From, Request) ->

+ 6
- 6
src/gen_mpp.erl Parādīt failu

@ -33,7 +33,7 @@
, format_status/2
%% Internal callbacks
, wakeupFromHib/8
, wakeupFromHib/7
%% logger callback
, format_log/1, format_log/2, print_event/3
@ -258,9 +258,9 @@ enter_loop(Module, State, Opts, ServerName, Actions) ->
loopEntry(Parent, Name, Module, HibernateAfterTimeout, Debug, #{}, State, listify(Actions)).
%%% Internal callbacks
wakeupFromHib(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, IsHib) ->
wakeupFromHib(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState) ->
%%
receiveIng(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, IsHib).
receiveIng(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, true).
loopEntry(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, Actions) ->
case doParseAL(Actions, Name, Debug, false, false, Timers) of
@ -273,7 +273,7 @@ loopEntry(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState,
_ ->
case IsHib of
true ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, NewDebug, NewTimers, CurState, IsHib]);
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, NewDebug, NewTimers, CurState]);
_ ->
receiveIng(Parent, Name, Module, HibernateAfterTimeout, NewDebug, NewTimers, CurState, false)
end
@ -287,9 +287,9 @@ loopEntry(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState,
system_continue(Parent, Debug, {Name, Module, HibernateAfterTimeout, Timers, CurState, IsHib}) ->
case IsHib of
true ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, IsHib]);
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState]);
_ ->
receiveIng(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, IsHib)
receiveIng(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, false)
end.
-spec system_terminate(_, _, _, [_]) -> no_return().

+ 6
- 6
src/gen_srv.erl Parādīt failu

@ -33,7 +33,7 @@
, format_status/2
%% Internal callbacks
, wakeupFromHib/8
, wakeupFromHib/7
%% logger callback
, format_log/1, format_log/2, print_event/3
@ -261,9 +261,9 @@ enter_loop(Module, State, Opts, ServerName, Actions) ->
loopEntry(Parent, Name, Module, HibernateAfterTimeout, Debug, #{}, State, listify(Actions)).
%%% Internal callbacks
wakeupFromHib(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, IsHib) ->
wakeupFromHib(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState) ->
%%
receiveIng(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, IsHib).
receiveIng(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, true).
loopEntry(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, Actions) ->
case doParseAL(Actions, Name, Debug, false, false, Timers) of
@ -276,7 +276,7 @@ loopEntry(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState,
_ ->
case IsHib of
true ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, NewDebug, NewTimers, CurState, IsHib]);
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, NewDebug, NewTimers, CurState]);
_ ->
receiveIng(Parent, Name, Module, HibernateAfterTimeout, NewDebug, NewTimers, CurState, false)
end
@ -290,9 +290,9 @@ loopEntry(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState,
system_continue(Parent, Debug, {Name, Module, HibernateAfterTimeout, Timers, CurState, IsHib}) ->
case IsHib of
true ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, IsHib]);
proc_lib:hibernate(?MODULE, wakeupFromHib, [Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState]);
_ ->
receiveIng(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, IsHib)
receiveIng(Parent, Name, Module, HibernateAfterTimeout, Debug, Timers, CurState, false)
end.
-spec system_terminate(_, _, _, [_]) -> no_return().

Notiek ielāde…
Atcelt
Saglabāt