Use a long lived WaitEventSet for WaitLatch().

Thomas Munro <tmunro@postgresql.org>

Commit: 3347c982bab0dd56d5b6cb784521233ba2bbac27
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2020-07-30T05:40:00Z
Releases: 14.0
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

Files

Discussion