diff Python/pythonrun.c @ 19295:157bbb896198 legacy-trunk

Bunchathings: - initsigs(): Ignore SIGXFZ so writing files beyond the file system size limit won't kill us. - Py_Initialize(): call _Py_ReadyTypes() instead of readying types here. - Py_Initialize(): call _PyImport_FixupExtension() for module "extensions". (SF bug #422004.)
author Guido van Rossum <guido@python.org>
date Thu, 16 Aug 2001 08:21:42 +0000
parents e110cd4fc3c6
children 1069090b124e
line wrap: on
line diff
--- a/Python/pythonrun.c	Thu Aug 16 08:17:26 2001 +0000
+++ b/Python/pythonrun.c	Thu Aug 16 08:21:42 2001 +0000
@@ -94,6 +94,7 @@
 	PyThreadState *tstate;
 	PyObject *bimod, *sysmod;
 	char *p;
+	extern void _Py_ReadyTypes(void);
 
 	if (initialized)
 		return;
@@ -115,11 +116,7 @@
 		Py_FatalError("Py_Initialize: can't make first thread");
 	(void) PyThreadState_Swap(tstate);
 
-	if (PyType_Ready(&PyType_Type) < 0)
-		Py_FatalError("Py_Initialize: can't initialize 'type'");
-
-	if (PyType_Ready(&PyList_Type) < 0)
-		Py_FatalError("Py_Initialize: can't initialize 'list'");
+	_Py_ReadyTypes();
 
 	interp->modules = PyDict_New();
 	if (interp->modules == NULL)
@@ -155,6 +152,7 @@
 
 	/* phase 2 of builtins */
 	_PyImport_FixupExtension("__builtin__", "__builtin__");
+	_PyImport_FixupExtension("exceptions", "exceptions");
 
 	initsigs(); /* Signal handling stuff, including initintr() */
 
@@ -1326,6 +1324,9 @@
 #ifdef SIGPIPE
 	signal(SIGPIPE, SIG_IGN);
 #endif
+#ifdef SIGXFZ
+	signal(SIGXFZ, SIG_IGN);
+#endif
 #endif /* HAVE_SIGNAL_H */
 	PyOS_InitInterrupts(); /* May imply initsignal() */
 }