Jämför commits

...

1 Incheckningar

Upphovsman SHA1 Meddelande Datum
  SisMaker 72413c6686 ft:测试修改 7 månader sedan
2 ändrade filer med 19 tillägg och 7 borttagningar
Delad Vy
  1. +16
    -4
      src/Faw/fwUtil.erl
  2. +3
    -3
      src/eFaw.erl

+ 16
- 4
src/Faw/fwUtil.erl Visa fil

@ -35,10 +35,22 @@ tryWorkLoop(#wParam{fName = FName, fNameTid = FNameTid, mod = Mod, isTmp = IsTmp
fwFMgr:tWOver(FName, self())
end;
_ ->
try Mod:work(Task)
catch
C:R:S ->
?FwErr("woker do task error ~p ~p ~p ~p ~p ~n", [FName, Mod, IsTmp, self(), {C, R, S}])
case Task of
{'$SyncWork', RetTag, FromPid, Work} ->
try Mod:work(Work) of
Ret ->
FromPid ! {RetTag, Ret}
catch
C:R:S ->
FromPid ! {RetTag, {work_error, {C, R, S}}},
?FwErr("woker do task error ~p ~p ~p ~p ~p ~n", [FName, Mod, IsTmp, self(), {C, R, S}])
end;
_ ->
try Mod:work(Task)
catch
C:R:S ->
?FwErr("woker do task error ~p ~p ~p ~p ~p ~n", [FName, Mod, IsTmp, self(), {C, R, S}])
end
end,
tryWorkLoop(WParam)
end.

+ 3
- 3
src/eFaw.erl Visa fil

@ -263,7 +263,7 @@ inSyncWork(FName, Work, Timeout) ->
overflow;
FTaskLen == FTLfl ->
%% See factory if need to hire hourly worker
case eLfq:in(QRef, {'$SyncWork', RetTag, Work}) of
case eLfq:in(QRef, {'$SyncWork', RetTag, self(), Work}) of
true ->
fwFMgr:chAddW(FName),
receive
@ -277,7 +277,7 @@ inSyncWork(FName, Work, Timeout) ->
end;
FTaskLen < WFCnt ->
%% See if need to wake up idle workers
case eLfq:in(QRef, {'$SyncWork', RetTag, Work}) of
case eLfq:in(QRef, {'$SyncWork', RetTag, self(), Work}) of
true ->
fwFMgr:chAwkW(FName),
receive
@ -290,7 +290,7 @@ inSyncWork(FName, Work, Timeout) ->
false
end;
true ->
case eLfq:in(QRef, {'$SyncWork', RetTag, Work}) of
case eLfq:in(QRef, {'$SyncWork', RetTag, self(), Work}) of
true ->
receive
{RetTag, Ret} ->

Laddar…
Avbryt
Spara