]> granicus.if.org Git - postgresql/commit
Restore SIGFPE handler after initializing PL/Perl.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 5 Sep 2012 20:43:51 +0000 (16:43 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 5 Sep 2012 20:43:51 +0000 (16:43 -0400)
commit1cd2d17ed746670c3a6f6dcb75c3d497676ef085
treeb0ff385ec268c9f95d54b143e3d06caa6e67e7dc
parentd9b9e8b40c9c9b37d8e8dc007141b4a2ba5811b0
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.
src/pl/plperl/plperl.c