Re: plperl crash with Debian 6 (64 bit), pl/perlu, libwww and https
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alex Hunsaker <badalex@gmail.com>
Cc: "David E. Wheeler" <david@kineticode.com>, Andrew Dunstan <andrew@dunslane.net>, Hannu Krosing <hannu@krosing.net>, Pgsql Hackers <pgsql-hackers@postgresql.org>
Date: 2011-08-04T23:52:45Z
Lists: pgsql-hackers
Alex Hunsaker <badalex@gmail.com> writes: > On Thu, Aug 4, 2011 at 16:34, David E. Wheeler <david@kineticode.com> wrote: >> On Aug 4, 2011, at 3:09 PM, Alex Hunsaker wrote: >>> 3) local %SIG before we call their trigger function. This lets signals >>> still work while "in trigger scope" (like we do for %_TD) >> +1 > That seems to be what most people up-thread thought as well. I dont > see it being too expensive. Ill see if I can whip something up today. The scenario I was imagining was: 1. perl temporarily takes over SIGALRM. 2. while perl function is running, statement_timeout expires, causing SIGALRM to be delivered. 3. perl code is probably totally confused, and even if it isn't, statement_timeout will not be enforced since Postgres won't ever get the interrupt. Even if you don't think statement_timeout is a particularly critical piece of functionality, similar interference with the delivery of, say, SIGUSR1 would be catastrophic. How do you propose to prevent this sort of problem? regards, tom lane