[llvm-commits] [llvm] r158770 - in /llvm/trunk: include/llvm/Support/FileSystem.h lib/Support/Unix/PathV2.inc lib/Support/Windows/PathV2.inc unittests/Support/Path.cpp
Nick Kledzik
kledzik at apple.com
Tue Jun 26 15:18:10 PDT 2012
On Jun 21, 2012, at 7:01 PM, Michael Spencer wrote:
> On Thu, Jun 21, 2012 at 6:36 PM, Nick Kledzik <kledzik at apple.com> wrote:
>> On Jun 21, 2012, at 4:14 PM, Michael Spencer wrote:
>>> On Thu, Jun 21, 2012 at 3:58 PM, Galina Kistanova <gkistanova at gmail.com> wrote:
>>>> ok, never mind then.
>>>>
>>>> Thanks
>>>>
>>>> Galina
>>>
>>> Actually, forget that. These interfaces cannot even be implemented in
>>> a thread safe way on Windows. Somehow I forgot that while reviewing
>>> this patch. The interface has to be redesigned.
>>
>> No tears here. I never really liked the N3365 interface. What specifically is the thread safety issue?
>>
>> -Nick
>
> The permissions are fine. It's the file mapping stuff. Unmapping a
> file in windows requires 3 different handles (the file handle, the
> mapping handle, and the specific map handle (the memory address)) ;/
Given that I added the map_file_pages functions to FileSystem.h to support a new /Support/FileOutputBuffer class and that supporting Windows will mean changing the map_file_pages API to track the three handles, would it make more sense to just remove the ma map_file_pages stuff from FileSystem.h and instead have the implementation of FileOutputBuffer do the #include blah.inc trick to have different Windows and Unix implementations?
-Nick
More information about the llvm-commits
mailing list