Re: return values of backend sub-main functions - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: return values of backend sub-main functions
Date
Msg-id 1340105476.26286.17.camel@vanquo.pezone.net
Whole thread Raw
In response to Re: return values of backend sub-main functions  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: return values of backend sub-main functions
Re: return values of backend sub-main functions
List pgsql-hackers
On ons, 2012-01-18 at 21:21 +0200, Peter Eisentraut wrote:
> On lör, 2012-01-07 at 16:41 -0500, Tom Lane wrote:
> > Peter Eisentraut <peter_e@gmx.net> writes:
> > > I suggest that we change PostgresMain(), PostmasterMain(), BackendRun(),
> > > WalSenderMain(), and WalSndLoop() to return void as well.
> >
> > I agree this code is not very consistent or useful, but one question:
> > what should the callers do if one of these functions *does* return?
>
> I was thinking of a two-pronged approach:  First, add
> __attribute__((noreturn)) to the functions.  This will cause a suitable
> compiler to verify on a source-code level that nothing actually returns
> from the function.  And second, at the call site, put an abort();  /*
> not reached */.  Together, this will make the code cleaner and more
> consistent, and will also help the compiler out a bit about the control
> flow.

Patch for 9.3 attached.


Attachment

pgsql-hackers by date:

Previous
From: Boszormenyi Zoltan
Date:
Subject: Re: [PATCH] lock_timeout and common SIGALRM framework
Next
From: "Dickson S. Guedes"
Date:
Subject: Re: pgsql_fdw in contrib