Re: [BUGS] BUG #4961: pg_standby.exe crashes with no args - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: [BUGS] BUG #4961: pg_standby.exe crashes with no args
Date
Msg-id 9837222c0908101348y160d926eh7ef0e408b937ccc0@mail.gmail.com
Whole thread Raw
In response to Re: [BUGS] BUG #4961: pg_standby.exe crashes with no args  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [BUGS] BUG #4961: pg_standby.exe crashes with no args  (wader2 <wader2@jcom.home.ne.jp>)
List pgsql-hackers
On Mon, Aug 10, 2009 at 20:44, Tom Lane<tgl@sss.pgh.pa.us> wrote:
> Magnus Hagander <magnus@hagander.net> writes:
>> If I just move those two lines into the #ifndef WIN32 block just
>> around it, it compiles and doesn't crash on running-with-no-arguments.
>> I haven't tried to actually use it though - can someone confirm if
>> this will actually make pg_standby not work properly?
>
> It would mean there's no way to trigger failover via signal.
>
> I think what we need is for pg_ctl to be able to send these signals...

Those signals don't *exist* on Windows. The whole idea of
cross-process signals don't *exist* on Windows.

We emulate it in the main backend, by creating a background thread
that sets a global variable. That is then polled in the
CHECK_FOR_INTERRUPTS macro.  pg_ctl is perfectly capable of sending
these signals, but pg_standby can't receive them.

We could implement the same type of check in pg_standby, but it
requires something like CHECK_FOR_INTERRUPTS. And these interrupts
won't, by default, cause any kind of interruption of the process. In
the backend, we interrupt socket calls because we have the socket
wrapper layer, and nothing else. I don't know how doable this would be
in pg_standby - does it always block on a single thing where we could
stick some win32 synchronization code? If it's a single, or limited,
places we could implement something similar to the backend. But if we
need to interrupt at arbitrary locations, that's just not possible.


-- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: machine-readable explain output v4
Next
From: "Kevin Grittner"
Date:
Subject: Re: Patch for 8.5, transformationHook