ilya-biryukov added a comment. In D54995#1312617 <https://reviews.llvm.org/D54995#1312617>, @lebedev.ri wrote:
> Passing-by thought, feel free to ignore: this seems to so far only affect > windows only? > So the fix shouldn't probably pessimize all other arches? (and maybe even > non-clangd) Sure, we'll make sure to keep the compiler and libclang/clangd on non-windows archs still use memory-mapped files. I even have hopes there are ways to workaround the locks on Windows, but I'm probably too optimistic. In D54995#1312532 <https://reviews.llvm.org/D54995#1312532>, @yvvan wrote: > According to > https://msdn.microsoft.com/en-us/2e9c3174-af48-4fa3-9f6a-fb62b23ed994 - > "Unmapping a mapped view of a file invalidates the range occupied by the view > in the address space of the process and makes the range available for other > allocations". > Also as far as i understand from > https://msdn.microsoft.com/en-us/library/ms810613.aspx mapped files can only > be edited in other apps as mapped files opened with the same name > (OpenFileMapping). I couldn't find any reference to file locking in those docs (I haven't thoroughly read the second one, though, so I might've missed it). Will check out your example program, thanks for posting it! In D54995#1314133 <https://reviews.llvm.org/D54995#1314133>, @yvvan wrote: > No success with unmapping. Buffers are hold by PCMCache in Preprocessor (and > the same one in ASTReader) and if I clean them then SourceManger crashed > sooner or later on some call that gets data from external files. > So far I have no steps to reproduce the lock on user file so I don't > currently know if I try something else. Unmapping definitely won't work, there are a ton of operations that might require the file contents. I don't think we can make clang code avoid reading the files it previously had opened. If no workaround works, reading files on windows instead of memory-mapping them is probably the only option for interactive editors. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D54995/new/ https://reviews.llvm.org/D54995 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits