Обсуждение: pgsql: Partially deduplicate interrupt handling for background processe

Поиск
Список
Период
Сортировка

pgsql: Partially deduplicate interrupt handling for background processe

От
Robert Haas
Дата:
Partially deduplicate interrupt handling for background processes.

Where possible, share signal handler code and main loop interrupt
checking. This saves quite a bit of code and should simplify
maintenance, too.

This commit intends not to change the way anything works, even
though that might allow more code to be unified. It does unify
a bunch of individual variables into a ShutdownRequestPending
flag that has is now used by a bunch of different process types,
though.

Patch by me, reviewed by Andres Freund and Daniel Gustafsson.

Discussion: http://postgr.es/m/CA+TgmoZwDk=BguVDVa+qdA6SBKef=PKbaKDQALTC_9qoz1mJqg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7dbfea3c455e83a77213a92b9dfdc1c0577441ea

Modified Files
--------------
src/backend/postmaster/Makefile            |   1 +
src/backend/postmaster/autovacuum.c        |  29 +++-----
src/backend/postmaster/bgworker.c          |  25 +------
src/backend/postmaster/bgwriter.c          |  93 ++-----------------------
src/backend/postmaster/checkpointer.c      |  60 ++--------------
src/backend/postmaster/interrupt.c         | 108 +++++++++++++++++++++++++++++
src/backend/postmaster/pgarch.c            |  29 ++------
src/backend/postmaster/pgstat.c            |  28 ++------
src/backend/postmaster/startup.c           |  34 +--------
src/backend/postmaster/walwriter.c         |  84 ++--------------------
src/backend/replication/logical/launcher.c |   3 +-
src/backend/replication/logical/worker.c   |   3 +-
src/backend/replication/walreceiver.c      |  31 +--------
src/backend/replication/walsender.c        |   4 +-
src/backend/tcop/postgres.c                |  22 +-----
src/backend/utils/init/globals.c           |   1 -
src/include/miscadmin.h                    |   3 -
src/include/postmaster/interrupt.h         |  32 +++++++++
18 files changed, 191 insertions(+), 399 deletions(-)


Re: pgsql: Partially deduplicate interrupt handling for background processe

От
Thomas Munro
Дата:
On Wed, Dec 18, 2019 at 7:18 AM Robert Haas <rhaas@postgresql.org> wrote:
> src/backend/postmaster/checkpointer.c      |  60 ++--------------

-#include <time.h>

I think we still need this for time() (looking at warnings on Windows
BF members).



Re: pgsql: Partially deduplicate interrupt handling for background processe

От
Robert Haas
Дата:
On Wed, Dec 18, 2019 at 3:17 AM Thomas Munro <thomas.munro@gmail.com> wrote:
> On Wed, Dec 18, 2019 at 7:18 AM Robert Haas <rhaas@postgresql.org> wrote:
> > src/backend/postmaster/checkpointer.c      |  60 ++--------------
>
> -#include <time.h>
>
> I think we still need this for time() (looking at warnings on Windows
> BF members).

OK, I put it back.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company