Andres Freund <and...@anarazel.de> writes: > ISTM the better approach would be to try to reduce the cost of > PostmasterIsAlive() on common platforms - it should be nearly free if > done right.
+1 if it's doable. > One way to achieve that would e.g. to stop ignoring SIGPIPE and instead > check for postmaster death inside the handler, without reacting to > it. Then the the actual PostmasterIsAlive() checks are just a check of a > single sig_atomic_t. AFAIR, we do not get SIGPIPE on the postmaster pipe, because nobody ever writes to it. So this sketch seems off to me, even assuming that not-ignoring SIGPIPE causes no problems elsewhere. While it's not POSIX, at least some platforms are capable of delivering a separate signal on parent process death. Perhaps using that where available would be enough of an answer. regards, tom lane