Hello Michael, 09.07.2021 08:52, Michael Paquier wrote: > On Thu, Jul 08, 2021 at 11:00:00PM +0300, Alexander Lakhin wrote: >> Beside the aforementioned test I can only propose the extended patch, >> that incorporates the undo of the changes brought by bed90759f. >> With this patch that test is passed. > Checked and confirmed. It is a nice test with IPC::Run you have here. > Making things in win32stat.c more consistent with open.c surely is > appealing. One thing that I'd like to introduce in this patch, and > also mentioned upthread, is to change the stat() call in open.c to use > microsoft_native_stat(). > > I have let pgbench run for a couple of hours with some concurrent > activity using genfile.c, without noticing problems. My environment > is not representative of everything we can find out there on Windows, > but it brings some confidence. Thank you! I agree with your improvement. I can't remember why did I inject 'include "port.h"' in genfile.c. Today I've rechecked all the chain of includes and I see that stat() is redefined as _pgstat64() in win32_port.h, that includes <sys/stat.h>. genfile.c includes "postgres.h" (that includes win32_port.h indirectly) and then includes <sys/stat.h> again, but the later include should be ignored due "#pragma once" in stat.h. So I have no objection to the removal of that include.
Best regards, Alexander