"Marc G. Fournier" <scrappy@hub.org> writes:
>> That would work ... but is it more portable than depending on SysV
>> shmem connection counts? ISTR that some of the platforms we support
>> don't have Unix-style sockets at all.
> Wouldn't the same thing work with a simple file? Does it have to be a
> UnixDomainSocket?
No, and yes. If it's not a pipe/fifo then you don't get the
EOF-only-when-no-possible-writers-remain behavior. TCP and UDP
sockets don't show this sort of behavior either. So AFAICS we
really need a named pipe, ie, socket.
We could maybe do something approximately similar with TCP connection
attempts (per the prior suggestion of letting backends hold the
postmaster's listen socket open; then see if you get "connection
refused" or a timeout from trying to connect) but I don't think it'd be
as trustworthy. Simple mistakes like overly aggressive ipchains filters
would confuse this kind of test.
regards, tom lane