summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2002-04-23 20:31:01 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2002-04-23 20:31:01 (GMT)
commit1b0bf9b7616a5d8b624ccb1670c7b71fa0850209 (patch)
treeb33f580155d26ff58bc77ceed5816c7cebee99b3
parent74ce77f0e67f0d67a3ae0d35ae11c7c48a7a67a5 (diff)
downloadcpython-1b0bf9b7616a5d8b624ccb1670c7b71fa0850209.zip
cpython-1b0bf9b7616a5d8b624ccb1670c7b71fa0850209.tar.gz
cpython-1b0bf9b7616a5d8b624ccb1670c7b71fa0850209.tar.bz2
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.
-rw-r--r--Python/pythonrun.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 0ca1f42..324bc89 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -1357,6 +1357,9 @@ initsigs(void)
#ifdef SIGXFZ
signal(SIGXFZ, SIG_IGN);
#endif
+#ifdef SIGXFSZ
+ signal(SIGXFSZ, SIG_IGN);
+#endif
#endif /* HAVE_SIGNAL_H */
PyOS_InitInterrupts(); /* May imply initsignal() */
}