ITAGAKI Takahiro <[EMAIL PROTECTED]> writes:
> I tested HEAD on Windows and saw some Windows-specific logs.

> LOG:  Windows fopen("base/16384/pg_internal.init","rb") failed: code 2, errno 
> 2
> LOG:  Windows fopen("global/pgstat.stat","rb") failed: code 32, errno 13

> The code 2 means ERROR_FILE_NOT_FOUND, "The system cannot find the file
> specified." and the code 32 means ERROR_SHARING_VIOLATION, "The process
> cannot access the file because it is being used by another process."

The first of those is probably normal operation --- we remove
pg_internal.init whenever it is out-of-date.  The second is bad though.

> We use the tmpfile-and-rename trick on both pg_internal.init and pgstat.stat.
> Are there any incompatible behavior in the trick between POSIX and Windows?

It looks to me like we have implemented Windows' FILE_SHARE_DELETE flag
for open() calls but not for fopen().  Isn't this a problem?  We do use
fopen() for stuff like pgstat.stat.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to