From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Marc G(dot) Fournier" <scrappy(at)hub(dot)org> |
Cc: | Matthew Kirkwood <matthew(at)hairy(dot)beasts(dot)org>, Igor Kovalenko <Igor(dot)Kovalenko(at)motorola(dot)com>, mlw <markw(at)mohawksoft(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: HEADS UP: Win32/OS2/BeOS native ports |
Date: | 2002-05-06 14:25:02 |
Message-ID: | 5208.1020695102@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Marc G. Fournier | 2002-05-06 14:35:20 | Re: HEADS UP: Win32/OS2/BeOS native ports |
Previous Message | Tom Lane | 2002-05-06 14:17:43 | Re: HEADS UP: Win32/OS2/BeOS native ports |