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 |
---|---|---|
.cvsignore | -rw-r--r-- | 17 bytes |
atof.c | -rw-r--r-- | 813 bytes |
bltinmodule.c | -rw-r--r-- | 52.1 KB |
ceval.c | -rw-r--r-- | 79.8 KB |
codecs.c | -rw-r--r-- | 10.0 KB |
compile.c | -rw-r--r-- | 121.4 KB |
dup2.c | -rw-r--r-- | 685 bytes |
dynload_aix.c | -rw-r--r-- | 5.3 KB |
dynload_beos.c | -rw-r--r-- | 6.1 KB |
dynload_dl.c | -rw-r--r-- | 537 bytes |
dynload_hpux.c | -rw-r--r-- | 1.3 KB |
dynload_mac.c | -rw-r--r-- | 3.2 KB |
dynload_next.c | -rw-r--r-- | 4.5 KB |
dynload_os2.c | -rw-r--r-- | 958 bytes |
dynload_shlib.c | -rw-r--r-- | 2.1 KB |
dynload_stub.c | -rw-r--r-- | 202 bytes |
dynload_win.c | -rw-r--r-- | 7.4 KB |
errors.c | -rw-r--r-- | 15.9 KB |
exceptions.c | -rw-r--r-- | 28.9 KB |
fmod.c | -rw-r--r-- | 433 bytes |
frozen.c | -rw-r--r-- | 965 bytes |
frozenmain.c | -rw-r--r-- | 1.4 KB |
future.c | -rw-r--r-- | 5.2 KB |
getargs.c | -rw-r--r-- | 29.3 KB |
getcompiler.c | -rw-r--r-- | 366 bytes |
getcopyright.c | -rw-r--r-- | 503 bytes |
getcwd.c | -rw-r--r-- | 1.3 KB |
getmtime.c | -rw-r--r-- | 316 bytes |
getopt.c | -rw-r--r-- | 2.3 KB |
getplatform.c | -rw-r--r-- | 130 bytes |
getversion.c | -rw-r--r-- | 260 bytes |
graminit.c | -rw-r--r-- | 28.3 KB |
hypot.c | -rw-r--r-- | 280 bytes |
import.c | -rw-r--r-- | 57.6 KB |
importdl.c | -rw-r--r-- | 2.0 KB |
importdl.h | -rw-r--r-- | 931 bytes |
marshal.c | -rw-r--r-- | 17.1 KB |
memmove.c | -rw-r--r-- | 439 bytes |
modsupport.c | -rw-r--r-- | 9.6 KB |
mystrtoul.c | -rw-r--r-- | 3.1 KB |
pyfpe.c | -rw-r--r-- | 621 bytes |
pystate.c | -rw-r--r-- | 5.2 KB |
pythonrun.c | -rw-r--r-- | 32.1 KB |
sigcheck.c | -rw-r--r-- | 529 bytes |
strdup.c | -rw-r--r-- | 256 bytes |
strerror.c | -rw-r--r-- | 446 bytes |
strtod.c | -rw-r--r-- | 5.1 KB |
structmember.c | -rw-r--r-- | 5.0 KB |
symtable.c | -rw-r--r-- | 3.4 KB |
sysmodule.c | -rw-r--r-- | 24.3 KB |
thread.c | -rw-r--r-- | 2.3 KB |
thread_beos.h | -rw-r--r-- | 7.5 KB |
thread_cthread.h | -rw-r--r-- | 3.6 KB |
thread_foobar.h | -rw-r--r-- | 2.5 KB |
thread_lwp.h | -rw-r--r-- | 3.8 KB |
thread_nt.h | -rw-r--r-- | 8.9 KB |
thread_os2.h | -rw-r--r-- | 4.1 KB |
thread_pth.h | -rw-r--r-- | 7.1 KB |
thread_pthread.h | -rw-r--r-- | 10.9 KB |
thread_sgi.h | -rw-r--r-- | 11.8 KB |
thread_solaris.h | -rw-r--r-- | 4.4 KB |
thread_wince.h | -rw-r--r-- | 4.0 KB |
traceback.c | -rw-r--r-- | 5.6 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...