> It happens often enough and the episodes last long enough
> that grabbing a handle dump while this is going on should be
> easily done.
> Regarding the Win32 error code, backend/storage/file/fd.c
> calls _commit().
> It looks
> like it is already using errno to report errors. Will
> GetLastError() return something useful there?
Ran a quick test. If I open the file read-only and then fsync, I get
errno=9 (EBADF) and GetLastError()=5. Which explains the fact that we
got the wrong error-code. The *underlying API call* to _commit() returns
Looking at the source to _commit(), if the call to FlushFileBuffers()
returns an error, it will set _doserrno to that value,and then return
So, this basicalliyu means that FlushFileBuffers() returns ACCESS
pgsql-bugs by date
|Next:||From: Tom Lane||Date: 2006-04-18 19:01:05|
|Subject: Re: [Win32] Problem with rename() |
|Previous:||From: Tom Lane||Date: 2006-04-18 18:53:57|
|Subject: Re: Permission denied on fsync / Win32 (was right |