Thread: win32 patch: processCancelRequest/reaper (+ various minor changes )

win32 patch: processCancelRequest/reaper (+ various minor changes )

From
Claudio Natoli
Date:
For application to HEAD, pending community review.

Briefly,

[all] Removed call to getppid in SendPostmasterSignal, replacing with a
PostmasterPid variable, which gets set (early) in PostmasterMain
  - Q: Is this ok? Specifically, does anything call this function where
getppid would not be the postmaster?

[fork/exec] Implements processCancelRequest by keeping an array of
pid/cancel_key structs in shared mem

[fork/exec] Moves AttachSharedMemoryAndSemaphores call for backends into
SubPostmasterMain

[win32] Implements reaper/waitpid by keeping an arrays of children
pids,handles in postmaster local mem
    - this item is largely untested, for reasons which should be
obvious, but appears sound

[win32/all] Added extern for pgpipe in Win32 case, and changed the second
pipe call (which seems to have been missed earlier) to pgpipe

[win32] #define'd ftruncate to chsize in the Win32 case

[win32] PG_USLEEP for Win32 has a misplaced paren. Fixed.

[win32] DLLIMPORT handling for MingW case

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>

Re: win32 patch: processCancelRequest/reaper (+ various minor

From
Bruce Momjian
Date:
Patch applied.  Thanks.

(No, no one calls SendPostmasterSignal that doesn't have the postmaster
as a parent.)

---------------------------------------------------------------------------

Claudio Natoli wrote:
>
> For application to HEAD, pending community review.
>
> Briefly,
>
> [all] Removed call to getppid in SendPostmasterSignal, replacing with a
> PostmasterPid variable, which gets set (early) in PostmasterMain
>   - Q: Is this ok? Specifically, does anything call this function where
> getppid would not be the postmaster?
>
> [fork/exec] Implements processCancelRequest by keeping an array of
> pid/cancel_key structs in shared mem
>
> [fork/exec] Moves AttachSharedMemoryAndSemaphores call for backends into
> SubPostmasterMain
>
> [win32] Implements reaper/waitpid by keeping an arrays of children
> pids,handles in postmaster local mem
>     - this item is largely untested, for reasons which should be
> obvious, but appears sound
>
> [win32/all] Added extern for pgpipe in Win32 case, and changed the second
> pipe call (which seems to have been missed earlier) to pgpipe
>
> [win32] #define'd ftruncate to chsize in the Win32 case
>
> [win32] PG_USLEEP for Win32 has a misplaced paren. Fixed.
>
> [win32] DLLIMPORT handling for MingW case
>
> 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>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>

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