Skip site navigation (1) Skip section navigation (2)

Re: [HACKERS] Win32 WEXITSTATUS too

From: "Chuck McDevitt" <cmcdevitt(at)greenplum(dot)com>
To: "Bruce Momjian" <bruce(at)momjian(dot)us>,"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Magnus Hagander" <magnus(at)hagander(dot)net>,"Takayuki Tsunakawa" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>,"PostgreSQL-patches" <pgsql-patches(at)postgresql(dot)org>,"Alvaro Herrera" <alvherre(at)commandprompt(dot)com>,"ITAGAKI Takahiro" <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
Subject: Re: [HACKERS] Win32 WEXITSTATUS too
Date: 2007-01-23 17:55:33
Message-ID: EB48EBF3B239E948AC1E3F3780CF8F880195E05C@MI8NYCMAIL02.Mi8.com (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
Win32 exception codes start with a two-bit severity indication.
00 means "success", so nothing is wrong.
01 is an "informational" messages.
10 is a "warning" message.
11 is an "error".

That's why the common exception codes you see start with hex C0, as they
are "errors".

The rest of the top 16 bits are the "facility" that caused the error.
Often not filled in.

To Convert an NT exception code (ntstatus) to a Win32 error code, you
call this routine:

ULONG RtlNtStatusToDosError(
  NTSTATUS Status
);


Then you can pass it to FormatMessage and it will work.


-----Original Message-----
From: pgsql-patches-owner(at)postgresql(dot)org
[mailto:pgsql-patches-owner(at)postgresql(dot)org] On Behalf Of Bruce Momjian
Sent: Tuesday, January 23, 2007 7:35 AM
To: Tom Lane
Cc: Magnus Hagander; Takayuki Tsunakawa; PostgreSQL-patches; Alvaro
Herrera; ITAGAKI Takahiro
Subject: Re: [pgsql-patches] [HACKERS] Win32 WEXITSTATUS too

Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > Magnus Hagander wrote:
> >> Now, if we're only caring about exit() from *postgresqls own
processes*,
> >> that might hold true. In which case I withdraw that objection as
long as
> >> the comment i updated to reflect this ;-) But if we're talking
about
> >> exit() in general of any process, then it's simply wrong.
> 
> > Right, that code is only used by the backend and tools.
> 
> We can reasonably assume that no Postgres code will exit() with a
value
> bigger than 255, because to do so would be unportable.
> 
> I'm more concerned about the other direction: can we be sure that a
> status value less than 255 is from exit() rather than something that
> should be called an exception?



In response to

Responses

pgsql-hackers by date

Next:From: Andrew DunstanDate: 2007-01-23 18:17:23
Subject: Re: [HACKERS] Win32 WEXITSTATUS too
Previous:From: Richard TroyDate: 2007-01-23 17:36:44
Subject: Re: Updateable cursors

pgsql-patches by date

Next:From: Andrew DunstanDate: 2007-01-23 18:17:23
Subject: Re: [HACKERS] Win32 WEXITSTATUS too
Previous:From: Bruce MomjianDate: 2007-01-23 16:22:59
Subject: Re: [HACKERS] Win32 WEXITSTATUS too

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group