From: mats c. <ma...@us...> - 2006-09-25 09:07:58
|
Update of /cvsroot/jungerl/jungerl/lib/distel/src In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32567/src Modified Files: distel.erl Log Message: Index: distel.erl =================================================================== RCS file: /cvsroot/jungerl/jungerl/lib/distel/src/distel.erl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- distel.erl 4 Sep 2006 07:04:19 -0000 1.5 +++ distel.erl 25 Sep 2006 09:07:55 -0000 1.6 @@ -72,6 +72,17 @@ gl_proxy(GL). %% ---------------------------------------------------------------------- +%%% reload all modules that are out of date +%%% we check the compile time of the loaded beam and the beam on disk +reload_modules() -> + T = fun(L) -> [X || X <- L, element(1,X)==time] end, + Tm = fun(M) -> T(M:module_info(compile)) end, + Tf = fun(F) -> {ok,{_,[{_,I}]}}=beam_lib:chunks(F,[compile_info]),T(I) end, + Load = fun(M) -> c:l(M),M end, + + [Load(M) || {M,F} <- code:all_loaded(), is_list(F), Tm(M)<Tf(F)]. + +%% ---------------------------------------------------------------------- %% if c:l(Mod) doesn't work, we look for the beam file in %% srcdir and srcdir/../ebin; add the first one that works to path and %% try c:l again. |