[EMAIL PROTECTED] writes: > Having recently upgraded to Python 2.4, I am having a large memory > leak with the following code built with VC++ 6.0: > > PyObject *pName, *pModule; > > Py_Initialize(); > pName = PyString_FromString(argv[1]); > > pModule = PyImport_Import(pName); > Py_DECREF(pName); > > PyObject* pModule2 = PyImport_ReloadModule(pModule); > Py_DECREF(pModule2); > Py_DECREF(pModule); > Py_Finalize(); > return 0;
Given that the builtin function reload() does more or less the same thing, it seems likely that there's something odd about your embedding that is making the difference. Does it make a difference which module you reload? I notice that you're using VC++ 6.0. Is your Python built with VC6 too? (The python.org distribution is built with 7 -- or 7.1, I forget which). > Help! You might want to file a bug report. Cheers, mwh -- Like most people, I don't always agree with the BDFL (especially when he wants to change things I've just written about in very large books), ... -- Mark Lutz, http://python.oreilly.com/news/python_0501.html -- http://mail.python.org/mailman/listinfo/python-list