• Guido van Rossum's avatar
    SF patch #471839: Bug when extensions import extensions (Shane Hathaway) · ae9e7960
    Guido van Rossum yazdı
        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.
    ae9e7960
importdl.c 2.04 KB