Re: pgsql: Handle SIGTERM in pg_receivewal and pg_recvlogical
От | Daniel Gustafsson |
---|---|
Тема | Re: pgsql: Handle SIGTERM in pg_receivewal and pg_recvlogical |
Дата | |
Msg-id | 10F7C2B0-26D1-43E5-ACC5-2A05B2EF9CD7@postgresql.org обсуждение исходный текст |
Ответ на | Re: pgsql: Handle SIGTERM in pg_receivewal and pg_recvlogical (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: pgsql: Handle SIGTERM in pg_receivewal and pg_recvlogical
|
Список | pgsql-committers |
> On 14 Sep 2022, at 17:06, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Daniel Gustafsson <dgustafsson@postgresql.org> writes: >> Since pg_recvlogical is also supposed to run as a daemon, teach it about >> SIGTERM as well and update the documentation to match. While in there, >> change pg_receivewal's time_to_stop to be sig_atomic_t like it is in >> pg_recvlogical. > > While looking at this commit, I wondered why both of those programs > are declaring their signal handlers like > > static void > sigint_handler(int signum) > > rather than our standard convention > > static void > pmdie(SIGNAL_ARGS) Sorry, I had missed that convention. > Evidently we don't (any longer?) have any platforms where SIGNAL_ARGS > is non-default, but that still doesn't make this good coding. More > than once I've grepped for SIGNAL_ARGS to locate signal handlers. > > Hmm, looks like same mistake in pg_waldump ... pg_test_fsync seems to have the same error. > barring objection, > I'm going to run around and fix those. No objections, unless you have better things to do and wan't me to clean up then I'll take care of it. > I also notice that port.h has > > typedef void (*pqsigfunc) (int signo); > extern pqsigfunc pqsignal(int signo, pqsigfunc func); > > which is a bit inconsistent with the idea that SIGNAL_ARGS > might be different from that. Shouldn't we declare it as > > typedef void (*pqsigfunc) (SIGNAL_ARGS); Agreed, that makes sense. -- Daniel Gustafsson https://vmware.com/
В списке pgsql-committers по дате отправления: