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