compile _bytesio and _stringio into the binary and initalize stdio before site fixing #3279

Reviewer: Alexandre Vassalotti
This commit is contained in:
Benjamin Peterson 2008-09-05 23:27:15 +00:00
parent a741ebf8a1
commit 791dc2f32c
4 changed files with 9 additions and 5 deletions

View File

@ -12,6 +12,9 @@ What's New in Python 3.0 release candidate 1
Core and Builtins
-----------------
- Issue #3279: Importing site at interpreter was failing silently because the
site module uses the open builtin which was not initialized at the time.
- Issue #3660: Corrected a reference leak in str.encode() when the encoder
does not return a bytes object.
@ -125,6 +128,8 @@ Extension Modules
update this code in Python 3.0 by hand. Update the 2.6 one and then
do "2to3".
- The _bytesio and _stringio modules are now compiled into the python binary.
Tools/Demos
-----------

View File

@ -113,6 +113,8 @@ _sre _sre.c # Fredrik Lundh's new regular expressions
_codecs _codecsmodule.c # access to the builtin codecs and codec registry
_fileio _fileio.c # Standard I/O baseline
_weakref _weakref.c # weak references
_bytesio _bytesio.c # For Lib/io.py
_stringio _stringio.c # For Lib/io.py
# The zipimport module is always imported at startup. Having it as a
# builtin module avoids some bootstrapping problems and reduces overhead.

View File

@ -239,11 +239,11 @@ Py_InitializeEx(int install_sigs)
}
initmain(); /* Module __main__ */
if (!Py_NoSiteFlag)
initsite(); /* Module site */
if (initstdio() < 0)
Py_FatalError(
"Py_Initialize: can't initialize sys standard streams");
if (!Py_NoSiteFlag)
initsite(); /* Module site */
/* auto-thread-state API, if available */
#ifdef WITH_THREAD

View File

@ -439,9 +439,6 @@ class PyBuildExt(build_ext):
exts.append( Extension('operator', ['operator.c']) )
# _functools
exts.append( Extension("_functools", ["_functoolsmodule.c"]) )
# Memory-based IO accelerator modules
exts.append( Extension("_bytesio", ["_bytesio.c"]) )
exts.append( Extension("_stringio", ["_stringio.c"]) )
# C-optimized pickle replacement
exts.append( Extension("_pickle", ["_pickle.c"]) )
# atexit