Thread: pgsql: Use a long lived WaitEventSet for WaitLatch().
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(-)