Re: fork/exec patch: pre-CreateProcess finalization - Mailing list pgsql-patches

From Claudio Natoli
Subject Re: fork/exec patch: pre-CreateProcess finalization
Date
Msg-id A02DEC4D1073D611BAE8525405FCCE2B55F23C@harris.memetrics.local
Whole thread Raw
In response to fork/exec patch: pre-CreateProcess finalization  (Claudio Natoli <claudio.natoli@memetrics.com>)
Responses Re: fork/exec patch: pre-CreateProcess finalization  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: fork/exec patch: pre-CreateProcess finalization  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
> I think they are saying put the cancel key inside the existing shared
> memory segment.

Ok. Thanks.

> I don't know when we actually attach to the main shared
> memory sigment in the child, but it would have to be sooner than when we
> need the cancel key.

Yes. Currently, it happens too late.

I'll put my hand up to have a go at this fixing this (and getting
processCancelRequest to work under Win32/EXEC_BACKEND at the same time), if
no one else particularly cares to.

Just to be clear, this would involve turning the BackendList dlllist into an
array in shared memory, right? If so, a couple of questions:
  - what is a suitably large size for this array (2 * MaxBackends, ala
canAcceptConnections?)
  - the postmaster makes all calls referencing this list, with the exception
of processCancelRequest, correct? So, as Tom was alluding to, no locking is
required (or desired!), and we'll just need to be careful not to introduce a
race condition into processCancelRequest.

Cheers,
Claudio
---
Certain disclaimers and policies apply to all email sent from Memetrics.
For the full text of these disclaimers and policies see
<a
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
ailpolicy.html</a>

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: fork/exec patch: pre-CreateProcess finalization
Next
From: Jan Wieck
Date:
Subject: Re: fork/exec patch: pre-CreateProcess finalization