Преглед изворни кода

update checked module m_mark before recursing into dependencies (#8284)

Aleksandr Kuzmenko пре 6 година
родитељ
комит
92c7833f5a
1 измењених фајлова са 3 додато и 2 уклоњено
  1. 3 2
      src/compiler/server.ml

+ 3 - 2
src/compiler/server.ml

@@ -342,7 +342,9 @@ let rec wait_loop process_params verbose accept =
 				if m.m_extra.m_mark = mark then
 				if m.m_extra.m_mark = mark then
 					None
 					None
 				else try
 				else try
-					if m.m_extra.m_mark <= start_mark then begin
+					let old_mark = m.m_extra.m_mark in
+					m.m_extra.m_mark <- mark;
+					if old_mark <= start_mark then begin
 						(* Workaround for preview.4 Java issue *)
 						(* Workaround for preview.4 Java issue *)
 						begin match m.m_extra.m_kind with
 						begin match m.m_extra.m_kind with
 							| MExtern -> check_module_path()
 							| MExtern -> check_module_path()
@@ -350,7 +352,6 @@ let rec wait_loop process_params verbose accept =
 						end;
 						end;
 						if not (has_policy NoCheckFileTimeModification) then check_file();
 						if not (has_policy NoCheckFileTimeModification) then check_file();
 					end;
 					end;
-					m.m_extra.m_mark <- mark;
 					if not (has_policy NoCheckDependencies) then check_dependencies();
 					if not (has_policy NoCheckDependencies) then check_dependencies();
 					None
 					None
 				with
 				with