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.)
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index f579f44..4ee82e4 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -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() */
 }