pgsql: process startup: Always call Init[Auxiliary]Process() before Bas

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: process startup: Always call Init[Auxiliary]Process() before Bas
Date: 2021-08-06 02:24:40
Message-ID: E1mBpXM-0003Iu-6h@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

process startup: Always call Init[Auxiliary]Process() before BaseInit().

For EXEC_BACKEND InitProcess()/InitAuxiliaryProcess() needs to have been
called well before we call BaseInit(), as SubPostmasterMain() needs LWLocks to
work. Having the order of initialization differ between platforms makes it
unnecessarily hard to understand the system and to add initialization points
for new subsystems without a lot of duplication.

To be able to change the order, BaseInit() cannot trigger
CreateSharedMemoryAndSemaphores() anymore - obviously that needs to have
happened before we can call InitProcess(). It seems cleaner to create shared
memory explicitly in single user/bootstrap mode anyway.

After this change the separation of bufmgr initialization into
InitBufferPoolAccess() / InitBufferPoolBackend() is not meaningful anymore so
the latter is removed.

Author: Andres Freund <andres(at)anarazel(dot)de>
Reviewed-By: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Discussion: https://postgr.es/m/20210802164124.ufo5buo4apl6yuvs@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b406478b87e2234c0be4ca4105eee3bb466a646b

Modified Files
--------------
src/backend/bootstrap/bootstrap.c | 18 ++++++++++--------
src/backend/postmaster/autovacuum.c | 12 ++++++------
src/backend/postmaster/auxprocess.c | 7 ++-----
src/backend/postmaster/bgworker.c | 16 ++++++++--------
src/backend/storage/buffer/bufmgr.c | 23 +++++------------------
src/backend/tcop/postgres.c | 8 +++++---
src/backend/utils/init/postinit.c | 37 +++----------------------------------
src/include/storage/bufmgr.h | 1 -
8 files changed, 39 insertions(+), 83 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2021-08-06 18:55:16 pgsql: First-draft release notes for 13.4.
Previous Message Michael Paquier 2021-08-06 00:23:58 Re: pgsql: Enable TAP tests of pg_receivewal for ZLIB on Windows, take thre