Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision a472771dadd1e17a019f5effc8877ba20d914c56 authored by Guido van Rossum on 15 January 2002, 21:14:38 UTC, committed by Guido van Rossum on 15 January 2002, 21:14:38 UTC
SF patch #471839: Bug when extensions import extensions (Shane Hathaway) When an extension imports another extension in its initXXX() function, the variable _Py_PackageContext is prematurely reset to NULL. If the outer extension then calls Py_InitModule(), the extension is installed in sys.modules without its package name. The manifestation of this bug is a "SystemError: _PyImport_FixupExtension: module <package>.<extension> not loaded". To fix this, importdl.c just needs to retain the old value of _Py_PackageContext and restore it after the initXXX() method is called. The attached patch does this. This patch applies to Python 2.1.1 and the current CVS.
1 parent e60d373
Tip revision: a472771dadd1e17a019f5effc8877ba20d914c56 authored by Guido van Rossum on 15 January 2002, 21:14:38 UTC
Backport revision 2.69.
Backport revision 2.69.
Tip revision: a472771
File | Mode | Size |
---|---|---|
Python.h | -rw-r--r-- | 2.7 KB |
abstract.h | -rw-r--r-- | 31.4 KB |
bitset.h | -rw-r--r-- | 792 bytes |
bufferobject.h | -rw-r--r-- | 929 bytes |
cStringIO.h | -rw-r--r-- | 3.9 KB |
cellobject.h | -rw-r--r-- | 636 bytes |
ceval.h | -rw-r--r-- | 3.4 KB |
classobject.h | -rw-r--r-- | 2.2 KB |
cobject.h | -rw-r--r-- | 1.7 KB |
codecs.h | -rw-r--r-- | 3.3 KB |
compile.h | -rw-r--r-- | 2.4 KB |
complexobject.h | -rw-r--r-- | 1.4 KB |
dictobject.h | -rw-r--r-- | 1.2 KB |
errcode.h | -rw-r--r-- | 1.1 KB |
eval.h | -rw-r--r-- | 251 bytes |
fileobject.h | -rw-r--r-- | 954 bytes |
floatobject.h | -rw-r--r-- | 720 bytes |
frameobject.h | -rw-r--r-- | 2.8 KB |
funcobject.h | -rw-r--r-- | 1.4 KB |
graminit.h | -rw-r--r-- | 1.4 KB |
grammar.h | -rw-r--r-- | 2.0 KB |
import.h | -rw-r--r-- | 1.5 KB |
intobject.h | -rw-r--r-- | 2.2 KB |
intrcheck.h | -rw-r--r-- | 285 bytes |
listobject.h | -rw-r--r-- | 1.8 KB |
longintrepr.h | -rw-r--r-- | 1.7 KB |
longobject.h | -rw-r--r-- | 1.5 KB |
marshal.h | -rw-r--r-- | 710 bytes |
metagrammar.h | -rw-r--r-- | 253 bytes |
methodobject.h | -rw-r--r-- | 1.8 KB |
modsupport.h | -rw-r--r-- | 3.2 KB |
moduleobject.h | -rw-r--r-- | 570 bytes |
node.h | -rw-r--r-- | 1006 bytes |
object.h | -rw-r--r-- | 20.5 KB |
objimpl.h | -rw-r--r-- | 10.7 KB |
opcode.h | -rw-r--r-- | 4.1 KB |
osdefs.h | -rw-r--r-- | 903 bytes |
parsetok.h | -rw-r--r-- | 613 bytes |
patchlevel.h | -rw-r--r-- | 1.2 KB |
pgenheaders.h | -rw-r--r-- | 1.3 KB |
py_curses.h | -rw-r--r-- | 3.5 KB |
pydebug.h | -rw-r--r-- | 541 bytes |
pyerrors.h | -rw-r--r-- | 4.2 KB |
pyfpe.h | -rw-r--r-- | 8.3 KB |
pygetopt.h | -rw-r--r-- | 323 bytes |
pymem.h | -rw-r--r-- | 5.1 KB |
pyport.h | -rw-r--r-- | 11.9 KB |
pystate.h | -rw-r--r-- | 1.9 KB |
pythonrun.h | -rw-r--r-- | 4.4 KB |
pythread.h | -rw-r--r-- | 1.4 KB |
rangeobject.h | -rw-r--r-- | 613 bytes |
sliceobject.h | -rw-r--r-- | 971 bytes |
stringobject.h | -rw-r--r-- | 4.4 KB |
structmember.h | -rw-r--r-- | 1.8 KB |
symtable.h | -rw-r--r-- | 3.5 KB |
sysmodule.h | -rw-r--r-- | 734 bytes |
token.h | -rw-r--r-- | 1.6 KB |
traceback.h | -rw-r--r-- | 571 bytes |
tupleobject.h | -rw-r--r-- | 1.5 KB |
ucnhash.h | -rw-r--r-- | 682 bytes |
unicodeobject.h | -rw-r--r-- | 29.0 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...