Use a long lived WaitEventSet for WaitLatch().
Create LatchWaitSet at backend startup time, and use it to implement
WaitLatch(). This avoids repeated epoll/kqueue setup and teardown
system calls.
Reorder SubPostmasterMain() slightly so that we restore the postmaster
pipe and Windows signal emulation before we reach InitPostmasterChild(),
to make this work in EXEC_BACKEND builds.
Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Discussion: https://postgr.es/m/CA%2BhUKGJAC4Oqao%3DqforhNey20J8CiG2R%3DoBPqvfR0vOJrFysGw%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/3347c982bab0dd56d5b6cb784521233ba2bbac27
Modified Files
--------------
src/backend/postmaster/postmaster.c | 24 ++++++++--------
src/backend/storage/ipc/latch.c | 56 ++++++++++++++++++++++++++++++++++---
src/backend/utils/init/miscinit.c | 2 ++
src/include/storage/latch.h | 1 +
4 files changed, 67 insertions(+), 16 deletions(-)