Maxim Sloyko wrote: > m.banaouas wrote: > > > Can i install and use "Apache 2.2.3" & "mod_python 3.2.10" (most recent > > versions) without facing any known major issue ?
Only that to use Apache 2.2 you must have mod_python 3.2.10 or later, older versions of mod_python do not work with the more recent version of Apache. > Works fine for me. > The only "known major issue" you can face is general non-threadsafety > of Python interpreter. So, if you are using Apache MPM, you have to > allow for it, or use framework that does it for you. You answer here is a bit misleading. There are no issues with the thread safety of the Python interpreter per-se. However, as with any Python application, whether mod_python is used or not, if multiple threads are being used your application code may have to be written so as to cope with access to code/data from multiple threads at the same time. This is not anything unique to mod_python. Whether this will be an issue or not is dependent on which Apache MPM is used, not that the Apache MPM is used as one will always be used. The specific Apache MPMs where multithreading has to be taken into consideration are "winnt" on Windows platforms and "worker" on UNIX platforms. What this all means is that when these MPMs are used there can be concurrent request handlers executing in distinct threads within the same Apache processes. Thus, where common data is accessed, it has to be adequately protected. For further details on the Apache/mod_python process/interpreter/thread model, see: http://www.dscpl.com.au/wiki/ModPython/Articles/TheProcessInterpreterModel That said, there are sometimes threading issues with mod_python but it is more to do with the fact that mod_python can use multiple interpreter instances within a single process. Also, the problems are not a problem in mod_python, but result from third party C modules for Python being used which take the simple path of using the simplified thread API for working with the GIL. Such modules often will not work properly when used from secondary Python interpreter instances. In these cases it is a simple matter of telling mod_python to handle requests which are dependent on those modules within the main Python interpreter, ie., the very first one which gets created. Where third party C modules use the full thread API for Python properly, it doesn't matter which interpreter instance they are used from. Graham -- http://mail.python.org/mailman/listinfo/python-list