> On 13 Jul 2021, at 20:00, Alexander Lakhin <exclus...@gmail.com> wrote:
> 
> Hello Michael,
> 12.07.2021 08:52, Michael Paquier wrote:
>> On Mon, Jul 12, 2021 at 02:09:41PM +0900, Michael Paquier wrote:
>> 
>>> And fairywren, that uses MinGW, is unhappy:
>>> 
>>> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fairywren&dt=2021-07-12%2004%3A47%3A13
>>> 
>>> Looking at it now.
>>> 
>> I am not sure what to do here to cool down MinGW, so the patch has
>> been reverted for now:
>> - Plain stat() is not enough to do a proper detection of the files
>> pending for deletion on MSVC, so reverting only the part with
>> microsoft_native_stat() is not going to help.
>> - We are going to need an evaluation of the stat() implementation in
>> MinGW and check if is it possible to rely on it more.  If yes, we
>> could get away with more tweaks based on __MINGW32__/__MINGW64__.
>> 
> I've managed to adapt open/win32stat for MinGW by preventing stat overriding 
> at the implementation level. Thus, the code that calls stat() will use the 
> overridden struct/function(s), but inside of open/win32_stat we could access 
> original stat and reference to __pgstat64 where we want to use our.
> Tested on MSVC, MinGW64 and MinGW32 — the fixed code compiles everywhere.
> 
> But when using perl from msys (not ActivePerl) while testing I've got the 
> same test failure due to another error condition:
> 
> <ghffjapimnefdgac.png>
> 
> In this case CreateFile() fails with ERROR_SHARING_VIOLATION (not 
> ERROR_ACCESS_DENIED) and it leads to the same "Permission denied" error. This 
> condition is handled in the pgwin32_open() but not in _pgstat64() yet.
> 
> I think I should develop another test for MSVC environment that will 
> demonstrate a such failure too.
> But as it's not related to the DELETE_PENDING state, I wonder whether this 
> should be fixed in a separate patch.

Michael, have you had a chance to look at the updated patch here?  I'm moving
this patch entry from Waiting on Author to Needs Review.

--
Daniel Gustafsson               https://vmware.com/



Reply via email to