Use PyOS_setsig() instead of signal().  Also remove redundant spaces
from the FreeBSD code.
diff --git a/Modules/fpectlmodule.c b/Modules/fpectlmodule.c
index 59d2b72..8034489 100644
--- a/Modules/fpectlmodule.c
+++ b/Modules/fpectlmodule.c
@@ -130,7 +130,7 @@
 		 (user_routine *)0,
 		 _ABORT_ON_ERROR,
 		 NULL);
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- SunOS and Solaris ----------------------------------------------------*/
 #elif defined(sun)
@@ -144,7 +144,7 @@
     (void) nonstandard_arithmetic();
     (void) ieee_flags("clearall",mode,in,&out);
     (void) ieee_handler("set","common",(sigfpe_handler_type)handler);
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- HPUX -----------------------------------------------------------------*/
 #elif defined(__hppa) || defined(hppa)
@@ -153,7 +153,7 @@
     /* ld -b -o fpectlmodule.sl fpectlmodule.o -lm */
 #include <math.h>
     fpsetdefaults();
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- IBM AIX --------------------------------------------------------------*/
 #elif defined(__AIX) || defined(_AIX)
@@ -161,7 +161,7 @@
 #include <fptrap.h>
     fp_trap(FP_TRAP_SYNC);
     fp_enable(TRP_INVALID | TRP_DIV_BY_ZERO | TRP_OVERFLOW);
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- DEC ALPHA OSF --------------------------------------------------------*/
 #elif defined(__alpha) && defined(__osf__)
@@ -172,7 +172,7 @@
     unsigned long fp_control =
     IEEE_TRAP_ENABLE_INV | IEEE_TRAP_ENABLE_DZE | IEEE_TRAP_ENABLE_OVF;
     ieee_set_fp_control(fp_control);
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- Cray Unicos ----------------------------------------------------------*/
 #elif defined(cray)
@@ -180,13 +180,13 @@
 #ifdef HAS_LIBMSET
     libmset(-1);
 #endif
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- FreeBSD ----------------------------------------------------------------*/
 #elif defined(__FreeBSD__)
-    fpresetsticky( fpgetsticky() );
-    fpsetmask( FP_X_INV | FP_X_DZ | FP_X_OFL );
-    signal( SIGFPE, handler );
+    fpresetsticky(fpgetsticky());
+    fpsetmask(FP_X_INV | FP_X_DZ | FP_X_OFL);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- Linux ----------------------------------------------------------------*/
 #elif defined(linux)
@@ -196,13 +196,13 @@
 #include <i386/fpu_control.h>
 #endif
     __setfpucw(0x1372);
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- NeXT -----------------------------------------------------------------*/
 #elif defined(NeXT) && defined(m68k) && defined(__GNUC__)
     /* NeXT needs explicit csr set to generate SIGFPE */
     asm("fmovel     #0x1400,fpcr");   /* set OVFL and ZD bits */
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- Microsoft Windows, NT ------------------------------------------------*/
 #elif defined(_MSC_VER)
@@ -211,7 +211,7 @@
 #include <float.h>
     unsigned int cw = _EM_INVALID | _EM_ZERODIVIDE | _EM_OVERFLOW;
     (void)_controlfp(0, cw);
-    signal(SIGFPE, handler);
+    PyOS_setsig(SIGFPE, handler);
 
 /*-- Give Up --------------------------------------------------------------*/
 #else
@@ -223,12 +223,12 @@
 static PyObject *turnoff_sigfpe(PyObject *self,PyObject *args)
 {
 #ifdef __FreeBSD__
-    fpresetsticky( fpgetsticky() );
-    fpsetmask( 0 );
+    fpresetsticky(fpgetsticky());
+    fpsetmask(0);
 #else
     fputs("Operation not implemented\n", stderr);
 #endif
-    Py_INCREF (Py_None);
+    Py_INCREF(Py_None);
     return Py_None;
 }