浏览代码

[server] don't consider a file removed if it wasn't there

Simon Krajewski 6 年之前
父节点
当前提交
54a0466f59
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      src/context/compilationServer.ml

+ 4 - 2
src/context/compilationServer.ml

@@ -147,8 +147,10 @@ let cache_file cs key time data =
 	Hashtbl.replace cs.cache.c_files key { c_time = time; c_package = fst data; c_decls = snd data; c_module_name = None }
 
 let remove_file cs key =
-	Hashtbl.remove cs.cache.c_files key;
-	Hashtbl.replace cs.cache.c_removed_files key ()
+	if Hashtbl.mem cs.cache.c_files key then begin
+		Hashtbl.remove cs.cache.c_files key;
+		Hashtbl.replace cs.cache.c_removed_files key ()
+	end
 
 let remove_files cs file =
 	List.iter (fun (sign,_) -> remove_file cs (file,sign)) cs.signs