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-00082h-5N@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_0_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/a05fa36ccf0dc7d6846564096d05b7c9bb86df45

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.