pgsql: Restore SIGFPE handler after initializing PL/Perl.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Restore SIGFPE handler after initializing PL/Perl.
Date: 2012-09-05 20:44:28
Message-ID: E1T9MSa-00082f-4e@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Restore SIGFPE handler after initializing PL/Perl.

Perl, for some unaccountable reason, believes it's a good idea to reset
SIGFPE handling to SIG_IGN. Which wouldn't be a good idea even if it
worked; but on some platforms (Linux at least) it doesn't work at all,
instead resulting in forced process termination if the signal occurs.
Given the lack of other complaints, it seems safe to assume that Perl
never actually provokes SIGFPE and so there is no value in the setting
anyway. Hence, reset it to our normal handler after initializing Perl.

Report, analysis and patch by Andres Freund.

Branch
------
REL9_1_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/5ee0f03727eb7452ad8ecbca660d500ab78ac015

Modified Files
--------------
src/pl/plperl/plperl.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2012-09-05 21:50:32 pgsql: Fix line end mishandling in pg_upgrade on Windows.
Previous Message Tom Lane 2012-09-05 18:37:34 pgsql: Silence -Wunused-result warning in contrib/pg_upgrade.