I now think that we shouldn't change the return value format from the
most recent revisions of the patch (i.e. returning a bitfield). We
should leave it as-is, while documenting that it's possible, although
extremely unlikely, for it to incorrectly report Postmaster death, and
that clients therefore have a onus to check that themselves using
PostmasterIsAlive(). We already provide fairly weak guarantees as to
the validity of that return value ("Note that if multiple wake-up
conditions are true, there is no guarantee that we return all of them
in one call, but we will return at least one"). Making them a bit
weaker still seems acceptable.
In addition, we'd change the implementation of PostmasterIsAlive() to
/just/ perform the read() test as already described.
I'm not concerned about the possibility of spurious extra cycles of
auxiliary process event loops - should I be?
--
Peter Geoghegan http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training and Services