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])

Reply via email to