Tom Lane wrote: > I said: > > But the backends would only have the socket open, they'd not be actively > > listening to it. So how could you tell whether anyone had the socket > > open or not? > > Oh, I take that back, I see how you could do it: the postmaster opens > the socket *for writing*, but never actually writes. All its child > processes inherit that same open file descriptor and just keep it > around. Then, to tell if anyone's home, you open the socket *for > reading* and try to read in O_NONBLOCK mode. You get an EOF indication > if and only if no one has the socket open for writing; otherwise you > get an EAGAIN error. > > 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.
I think what you describe is a named pipe, not a socket. The underlying implementation might be a socketpair, but the behaviour of named pipes is exactly that since Version 7 at least. This worked under Minix already. > > regards, tom lane Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== [EMAIL PROTECTED] # ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])