Re: Win32 processCancelRequest/waitpid (was fork/exec patch

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Claudio Natoli <claudio(dot)natoli(at)memetrics(dot)com>
Cc: "'Tom Lane '" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "'Jan Wieck '" <JanWieck(at)Yahoo(dot)com>, "'pgsql-patches(at)postgreSQL(dot)org '" <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Win32 processCancelRequest/waitpid (was fork/exec patch
Date: 2004-01-10 19:48:41
Message-ID: 200401101948.i0AJmfg02119@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

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
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2004-01-10 19:54:18 Re: Win32 processCancelRequest/waitpid (was fork/exec patch
Previous Message Claudio Natoli 2004-01-10 07:53:23 Win32 processCancelRequest/waitpid (was fork/exec patch : pre-CreateProcess finalization)