On Tue, Aug 14, 2012 at 08:40:06AM -0400, Robert Haas wrote: > On Tue, Aug 14, 2012 at 6:50 AM, Greg Stark <st...@mit.edu> wrote: > > It is possible to check if the signal was synchronous or was sent from > > an external process. You can check siginfo->si_pid to see who sent you > > the signal. I'm not sure checking that and handling it at > > check_for_interrupts if it's asynchronous is the best solution or not > > though. > > If that's portable it might be an option, but I doubt that it is.
I suspect it is portable. Nonetheless, kill() is not the only SIGFPE source that ought to produce a PANIC. Library code might trigger the signal, at which point we cannot assume that elog(ERROR) will leave an acceptable system state. To call this fixed, we need a whitelist of safe sources, not a blacklist of bogus sources. That said, I agree that the effort and risk may be out of proportion. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers