Browse Source

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

Aleksandr Kuzmenko 6 năm trước cách đây
mục cha
commit
92c7833f5a
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  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
 					None
 				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 *)
 						begin match m.m_extra.m_kind with
 							| MExtern -> check_module_path()
@@ -350,7 +352,6 @@ let rec wait_loop process_params verbose accept =
 						end;
 						if not (has_policy NoCheckFileTimeModification) then check_file();
 					end;
-					m.m_extra.m_mark <- mark;
 					if not (has_policy NoCheckDependencies) then check_dependencies();
 					None
 				with