Re: return values of backend sub-main functions

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: return values of backend sub-main functions
Дата
Msg-id 1340105476.26286.17.camel@vanquo.pezone.net
обсуждение исходный текст
Ответ на Re: return values of backend sub-main functions  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: return values of backend sub-main functions  (Robert Haas <robertmhaas@gmail.com>)
Re: return values of backend sub-main functions  (Josh Kupershmidt <schmiddy@gmail.com>)
Список 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.


Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Boszormenyi Zoltan
Дата:
Сообщение: Re: [PATCH] lock_timeout and common SIGALRM framework
Следующее
От: "Dickson S. Guedes"
Дата:
Сообщение: Re: pgsql_fdw in contrib