Re: Multiplexing SUGUSR1

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

In response to

Responses

Browse pgsql-hackers by date

  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