On Tue, Jan 16, 2007 at 10:20:04AM +0900, Takayuki Tsunakawa wrote:
> From: "Magnus Hagander" <[EMAIL PROTECTED]>
> > But yeah, that's probably a good idea. A quick look at the code says
> we
> > should at least ask people who have this problem to give it a run
> with
> > logging at DEBUG5 which should then log exactly what the errorcode
> was.
> > Or are you seeing more places that need such logging first?
> 
> I'm sorry we can't get get the Win32 error code to be displayed.  I
> got the following messages:
> 
> 2007-01-16 09:24:48 DEBUG:  checkpoint starting
> 2007-01-16 09:24:48 ERROR:  could not open relation 1663/10819/18296:
> Permission denied
> 2007-01-16 09:24:48 ERROR:  checkpoint request failed
> 2007-01-16 09:24:48 HINT:  Consult recent messages in the server log
> for details.
> 2007-01-16 09:24:48 STATEMENT:  checkpoint;
> 
> 
> The reason is that src/port/open.c does not use _dosmaperr().  It
> converts the Win32 error code to errno directly.  EACCES is converted
> from ERROR_ACCESS_DENIED only.  Mmm, we may have to compromise as
> Tom-san says.

Good point. In this case, we *know* it's access denied then, and not
some other error code.

And actually, when I look at the API docs, our case now seems to be
documented. Or am I misreading our situation. I have:

"If you call CreateFile on a file that is pending deletion as a result
of a previous call to DeleteFile, the function fails. The operating
system delays file deletion until all handles to the file are closed.
GetLastError returns ERROR_ACCESS_DENIED."


//Magnus

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to