Is this for 8.4?
---------------------------------------------------------------------------
Heikki Linnakangas wrote:
> I've been looking at the signal handling part of the synchronous
> replication patch. It looks OK, but one thing makes me worry.
>
> To set or clear the flag from PGPROC, to send or handle a signal, we
> have to acquire ProcArrayLock. Is that safe to do in a signal handler?
> And is the performance impact of that acceptable?
>
>
> Another observation is that the patch introduces a new function called
> SendProcSignal. Nothing wrong with that, except that there's an existing
> function called ProcSendSignal, just above SendProcSignal, so there's
> some potential for confusion. The old ProcSendSignal function uses the
> per-backend semaphore to wake up a backend. It's only used to wait for
> the cleanup lock in bufmgr.c. I'm tempted to remove that altogether, and
> use the new signal multiplexing for that too, but OTOH if it works,
> maybe I shouldn't touch it.
>
> Attached is a patch with some minor changes I've made. Mostly cosmetic,
> but I did modify the sinval code so that ProcState has PGPROC pointer
> instead of backend pid, so that we don't need to search the ProcArray to
> find the PGPROC struct of the backend we're signaling.
>
> --
> Heikki Linnakangas
> EnterpriseDB http://www.enterprisedb.com
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +