From: | Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Postgresql Hackers Mailinglist <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: spoonbill vs. -HEAD |
Date: | 2013-04-03 06:46:27 |
Message-ID: | 515BD043.6060807@kaltenbrunner.cc |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 04/03/2013 12:59 AM, Tom Lane wrote:
> I wrote:
>> I think the simplest fix is to insert "PG_SETMASK(&UnBlockSig)" into
>> StatementCancelHandler() and any other handlers that might exit via
>> longjmp. I'm a bit inclined to only do this on platforms where a
>> problem is demonstrable, which so far is only OpenBSD. (You'd
>> think that all BSDen would have the same issue, but the buildfarm
>> shows otherwise.)
>
> BTW, on further thought it seems like maybe this is an OpenBSD bug,
> at least in part: what is evidently happening is that the temporary
> blockage of SIGINT during the handler persists even after we've
> longjmp'd back to the main loop. But we're using sigsetjmp(..., 1)
> to establish that longjmp handler --- so why isn't the original signal
> mask reinstalled when we return to the main loop?
>
> If (your version of) OpenBSD is getting this wrong, it'd explain why
> we've not seen similar behavior elsewhere.
hmm trolling the openbsd cvs history brings up this:
Stefan
From | Date | Subject | |
---|---|---|---|
Next Message | Erikjan Rijkers | 2013-04-03 07:10:08 | Re: WIP: index support for regexp search |
Previous Message | Amit Kapila | 2013-04-03 06:32:52 | Re: Proposal for Allow postgresql.conf values to be changed via SQL [review] |