[Python-checkins] python/dist/src/Python import.c, 2.222.6.3,
2.222.6.4
pje at users.sourceforge.net
pje at users.sourceforge.net
Thu Sep 23 07:19:29 CEST 2004
Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31468/Python
Modified Files:
Tag: release23-maint
import.c
Log Message:
Fix for SF bug #1029475 : reload() doesn't work with PEP 302 loaders.
(Backport to 2.3 maintenance branch.)
Index: import.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/import.c,v
retrieving revision 2.222.6.3
retrieving revision 2.222.6.4
diff -u -d -r2.222.6.3 -r2.222.6.4
--- import.c 7 Jun 2004 14:59:59 -0000 2.222.6.3
+++ import.c 23 Sep 2004 05:19:27 -0000 2.222.6.4
@@ -2310,7 +2310,7 @@
PyImport_ReloadModule(PyObject *m)
{
PyObject *modules = PyImport_GetModuleDict();
- PyObject *path = NULL;
+ PyObject *path = NULL, *loader = NULL;
char *name, *subname;
char buf[MAXPATHLEN+1];
struct filedescr *fdp;
@@ -2352,11 +2352,14 @@
PyErr_Clear();
}
buf[0] = '\0';
- fdp = find_module(name, subname, path, buf, MAXPATHLEN+1, &fp, NULL);
+ fdp = find_module(name, subname, path, buf, MAXPATHLEN+1, &fp, &loader);
Py_XDECREF(path);
- if (fdp == NULL)
+ if (fdp == NULL) {
+ Py_XDECREF(loader);
return NULL;
- m = load_module(name, fp, buf, fdp->type, NULL);
+ }
+ m = load_module(name, fp, buf, fdp->type, loader);
+ Py_XDECREF(loader);
if (fp)
fclose(fp);
return m;
More information about the Python-checkins
mailing list