Re: spoonbill vs. -HEAD
От | Stefan Kaltenbrunner |
---|---|
Тема | Re: spoonbill vs. -HEAD |
Дата | |
Msg-id | 515BD043.6060807@kaltenbrunner.cc обсуждение исходный текст |
Ответ на | Re: spoonbill vs. -HEAD (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: spoonbill vs. -HEAD
|
Список | 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: http://www.openbsd.org/cgi-bin/cvsweb/src/sys/arch/sparc64/sparc64/machdep.c?r1=1.143;sortby=date#rev1.143 Stefan
В списке pgsql-hackers по дате отправления: