Re: Win32 processCancelRequest/waitpid (was [PATCHES] fork/exec patch

2004-01-10 Thread Bruce Momjian
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > As I understand it, the postmaster shared memory idea is good because
> > only the postmaster writes to it, and only the backends read from it.
> > If the HANDLE works the same way, I think you should put it into the
> > shared memory too, hence (b).
> 
> But the postmaster needs to use the HANDLE, hence not (b).

That's where I was unclear.  If the postmaster has to read the HANDLE,
we are better with keeping it in local memory (a).

--
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: Win32 processCancelRequest/waitpid (was [PATCHES] fork/exec patch

2004-01-10 Thread Tom Lane
Bruce Momjian <[EMAIL PROTECTED]> writes:
> As I understand it, the postmaster shared memory idea is good because
> only the postmaster writes to it, and only the backends read from it. 
> If the HANDLE works the same way, I think you should put it into the
> shared memory too, hence (b).

But the postmaster needs to use the HANDLE, hence not (b).

regards, tom lane

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: Win32 processCancelRequest/waitpid (was [PATCHES] fork/exec patch

2004-01-10 Thread Bruce Momjian
Claudio Natoli wrote:
> 
> I wrote:
> > But I'll happily concede the point, and prove it by knocking 
> > up a patch for it over the weekend (unless anyone else 
> > particularly wants to).
> 
> Occurs to me I could kill 2 birds with one stone, and also implement another
> Win32 sticking point, namely the waitpid changes for the Postmaster, by
> having win32_forkexec do one of the following:
> 
> a) - when a backend startup is indicated, add a pid/cancel_key struct
> (Backend) to this new array in shared mem
>- when any child of the postmaster is started, also add a pid/HANDLE
> struct to a postmaster local array (or perhaps a dlllist)
> 
> b) - when any child of the postmaster is started, add a
> pid/cancel_key/HANDLE/isBackend struct to this new array in shared mem
> 
> (HANDLE for waiting on to determine child death; isBackend to separate
> BackendList backends from other children)
> 
> Choosing a over b:
>   PRO: as we've already been through, keeps the postmaster-only data
> local to the postmaster, stopping tampering from rouge backends
>   CON: yet more redundancy
> 
> Given recent conversations, I'm guessing (a), but any comments before going
> ahead and doing it?

As I understand it, the postmaster shared memory idea is good because
only the postmaster writes to it, and only the backends read from it. 
If the HANDLE works the same way, I think you should put it into the
shared memory too, hence (b).

[ FYI, I haven't seen you on IM lately.]

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org