Kaynağa Gözat

fx: 该app部分文件改动时修正会引起该同步进程被killed的问题, 防止该进程意外挂掉

master
SisMaker 4 yıl önce
ebeveyn
işleme
03189b2489
3 değiştirilmiş dosya ile 41 ekleme ve 18 silme
  1. +0
    -14
      include/eSync.hrl
  2. +18
    -1
      src/sync/esSyncSrv.erl
  3. +23
    -3
      src/sync/esUtils.erl

+ 0
- 14
include/eSync.hrl Dosyayı Görüntüle

@ -1,14 +0,0 @@
-define(LOG_ON(Val), Val == true; Val == all; Val == skip_success; is_list(Val), Val =/= []).
-define(Log, log).
-define(compileCmd, compileCmd).
-define(extraDirs, extraDirs).
-define(descendant, descendant).
-define(onMSyncFun, onMSyncFun).
-define(onCSyncFun, onCSyncFun).
-define(swSyncNode, swSyncNode).
-define(DefCfgList, [{?Log, all}, {?compileCmd, undefined}, {?extraDirs, undefined}, {?descendant, fix}, {?onMSyncFun, undefined}, {?onCSyncFun, undefined}, {?swSyncNode, false}]).
-define(esCfgSync, esCfgSync).
-define(rootSrcDir, <<"src">>).

+ 18
- 1
src/sync/esSyncSrv.erl Dosyayı Görüntüle

@ -1,7 +1,24 @@
-module(esSyncSrv).
-behaviour(es_gen_ipc).
-include("eSync.hrl").
%%%%%%%%%%%%%%%%%%%%%%%% eSync.hrl start %%%%%%%%%%%%%%%%%%%%%%
-define(LOG_ON(Val), Val == true; Val == all; Val == skip_success; is_list(Val), Val =/= []).
-define(Log, log).
-define(compileCmd, compileCmd).
-define(extraDirs, extraDirs).
-define(descendant, descendant).
-define(onMSyncFun, onMSyncFun).
-define(onCSyncFun, onCSyncFun).
-define(swSyncNode, swSyncNode).
-define(DefCfgList, [{?Log, all}, {?compileCmd, undefined}, {?extraDirs, undefined}, {?descendant, fix}, {?onMSyncFun, undefined}, {?onCSyncFun, undefined}, {?swSyncNode, false}]).
-define(esCfgSync, esCfgSync).
-define(rootSrcDir, <<"src">>).
%%%%%%%%%%%%%%%%%%%%%%%% eSync.hrl end %%%%%%%%%%%%%%%%%%%%%%
-compile(inline).
-compile({inline_size, 128}).

+ 23
- 3
src/sync/esUtils.erl Dosyayı Görüntüle

@ -1,6 +1,22 @@
-module(esUtils).
-include("eSync.hrl").
%%%%%%%%%%%%%%%%%%%%%%%% eSync.hrl start %%%%%%%%%%%%%%%%%%%%%%
-define(LOG_ON(Val), Val == true; Val == all; Val == skip_success; is_list(Val), Val =/= []).
-define(Log, log).
-define(compileCmd, compileCmd).
-define(extraDirs, extraDirs).
-define(descendant, descendant).
-define(onMSyncFun, onMSyncFun).
-define(onCSyncFun, onCSyncFun).
-define(swSyncNode, swSyncNode).
-define(DefCfgList, [{?Log, all}, {?compileCmd, undefined}, {?extraDirs, undefined}, {?descendant, fix}, {?onMSyncFun, undefined}, {?onCSyncFun, undefined}, {?swSyncNode, false}]).
-define(esCfgSync, esCfgSync).
-define(rootSrcDir, <<"src">>).
%%%%%%%%%%%%%%%%%%%%%%%% eSync.hrl end %%%%%%%%%%%%%%%%%%%%%%
-compile(inline).
-compile({inline_size, 128}).
@ -618,7 +634,9 @@ onSyncApply(Fun, Modules) when is_function(Fun) ->
reloadChangedMod([], _SwSyncNode, OnSyncFun, Acc) ->
fireOnSync(OnSyncFun, Acc);
reloadChangedMod([Module | LeftMod], SwSyncNode, OnSyncFun, Acc) ->
case code:get_object_code(Module) of
case Module == es_gen_ipc orelse code:get_object_code(Module) of
true ->
ignore;
error ->
esUtils:logErrors("Error loading object code for ~p", [Module]),
reloadChangedMod(LeftMod, SwSyncNode, OnSyncFun, Acc);
@ -775,7 +793,9 @@ recompileSrcFile(SrcFile, SwSyncNode) ->
CurSrcDir = filename:dirname(SrcFile),
{CompileFun, Module} = getCompileFunAndModuleName(SrcFile),
{OldBinary, Filename} = getObjectCode(Module),
case getOptions(RootSrcDir) of
case Module == es_gen_ipc orelse getOptions(RootSrcDir) of
true ->
ignore;
{ok, Options} ->
RightFileDir = binary_to_list(filename:join(CurSrcDir, filename:basename(SrcFile))),
case CompileFun(RightFileDir, [binary, return | Options]) of

Yükleniyor…
İptal
Kaydet