Bryan
belred at gmail.com
Sun Aug 20 00:07:29 EDT 2006
Graham Dumpleton wrote: > >> For a start, which version of mod_python are you using? There were some >> important changes in mod_python 3.2.8 to allow third party modules for >> Python to work properly where those third party modules used the simple >> GIL API for thread management. > > Whoops, that should be mod_python 3.2.10. Not 3.2.8. > > Graham graham, i guess i just don't understand something. i thought the following code could never fail. wouldn't PyThreadState_Swap(NULL) return either a new python interpreter or the one in the current process if it already exists? what interaction with mod_python could there be to cause a conflict with this code? i've also commented out the PyEval_InitThreads() function just in case, but it still fails. if (!Py_IsInitialized()) { Py_Initialize(); } PyEval_InitThreads(); g_py_main_interpreter = PyThreadState_Swap(NULL); PyThreadState_Swap(g_py_main_interpreter); PyEval_ReleaseLock(); if (g_py_main_interpreter) { log("PyThreadState_Swap(NULL) succeeded"); } else { log("PyThreadState_Swap(NULL) failed"); } bryan
|