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 <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers