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-00082a-1M@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
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/28ab4a5aabeec1db7e9d6fd14c26cc92ccb670a2

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.