Re: REPOST: InitDB Failure on install - Mailing list pgsql-hackers-win32

From Magnus Hagander
Subject Re: REPOST: InitDB Failure on install
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE34C072@algol.sollentuna.se
Whole thread Raw
Responses Re: REPOST: InitDB Failure on install
List pgsql-hackers-win32
> > "Magnus Hagander" <mha@sollentuna.net> writes:
> >
> >>                /* Unable to get shared memory */
> >>+               errno = GetLastError();
> >
> >
> > Aren't you going to need a mapping function to convert
> Windows error
> > codes to errno numbers?  Don't tell me Microsoft was smart
> enough to
> > make them the same ;-)
>
> How about the idea to set errno to a special value after all
> non-posix calls, which makes ereport examine/preserve
> GetLastError() instead?

We could do this, but that means we need to hack the whole error stack
handlign etc to save the value of GetLastError() as well as errno. But
yeah, we could do that.

Not sure if we need to do it after all calls though - probably enough to
do it only after the ones where there is actually a ereport() call with
%m nearby (or when we're emulating a unix function such as in shmget()).

Tom - which method do you think is best to go with?

//Magnus


pgsql-hackers-win32 by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: PostgreSQL Service
Next
From: Andrew Dunstan
Date:
Subject: Re: postmaster.pid