1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-07 00:36:50 +03:00

Use signals for postmaster death on FreeBSD.

Use FreeBSD 11.2's new support for detecting parent process death to
make PostmasterIsAlive() very cheap, as was done for Linux in an
earlier commit.

Author: Thomas Munro
Discussion: https://postgr.es/m/7261eb39-0369-f2f4-1bb5-62f3b6083b5e@iki.fi
This commit is contained in:
Thomas Munro
2018-07-11 12:47:42 +12:00
parent 9f09529952
commit f98b8476cd
5 changed files with 14 additions and 3 deletions

View File

@ -379,6 +379,9 @@ PostmasterDeathSignalInit(void)
#if defined(PR_SET_PDEATHSIG)
if (prctl(PR_SET_PDEATHSIG, signum) < 0)
elog(ERROR, "could not request parent death signal: %m");
#elif defined(PROC_PDEATHSIG_CTL)
if (procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &signum) < 0)
elog(ERROR, "could not request parent death signal: %m");
#else
#error "USE_POSTMASTER_DEATH_SIGNAL set, but there is no mechanism to request the signal"
#endif