view Python/pyfpe.c @ 23252:4f335ca3f11c legacy-trunk

Ignore SIGXFSZ. The SIGXFSZ signal is sent when the maximum file size limit is exceeded (RLIMIT_FSIZE). Apparently, it is also sent when the 2GB file limit is reached on platforms without large file support. The default action for SIGXFSZ is to terminate the process and dump core. When it is ignored, the system call that caused the limit to be exceeded returns an error and sets errno to EFBIG. Python always checks errno on I/O syscalls, so there is nothing to do with the signal.
author Jeremy Hylton <jeremy@alum.mit.edu>
date Tue, 23 Apr 2002 20:31:01 +0000
parents 2dea40e40d9d
children
line wrap: on
line source

#include "pyconfig.h"
#include "pyfpe.h"
/* 
 * The signal handler for SIGFPE is actually declared in an external
 * module fpectl, or as preferred by the user.  These variable
 * definitions are required in order to compile Python without
 * getting missing externals, but to actually handle SIGFPE requires
 * defining a handler and enabling generation of SIGFPE.
 */

#ifdef WANT_SIGFPE_HANDLER
jmp_buf PyFPE_jbuf;
int PyFPE_counter = 0;
#endif

/* Have this outside the above #ifdef, since some picky ANSI compilers issue a 
   warning when compiling an empty file. */

double
PyFPE_dummy(void *dummy)
{
	return 1.0;
}