From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Multiplexing SUGUSR1 |
Date: | 2008-12-08 14:39:59 |
Message-ID: | 493D31BF.2040704@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:
>> 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?
>
> No. If it's trying to do that then it's broken. In fact, if it's
> trying to do much of anything beyond setting a "volatile" flag variable
> in a signal handler, it's broken --- unless there are special provisions
> to limit where the signal trap can occur, which would be pretty much
> unacceptable for a multiplexed-signal implementation.
Ok, I was afraid so.
I think we'll need to replace the proposed bitmask with an array of
sig_atomic_t flags then, and do without locking.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Grzegorz Jaskiewicz | 2008-12-08 14:44:17 | Re: Polymorphic types vs. domains |
Previous Message | Simon Riggs | 2008-12-08 14:39:02 | Re: Synchronous replication: reading recovery.conf |