[ http://issues.apache.org/jira/browse/MODPYTHON-150?page=all ] Work on MODPYTHON-150 started by Graham Dumpleton
> make_obcallback not thread protected > ------------------------------------ > > Key: MODPYTHON-150 > URL: http://issues.apache.org/jira/browse/MODPYTHON-150 > Project: mod_python > Type: Bug > Components: core > Versions: 3.2.8, 3.1.4 > Reporter: Graham Dumpleton > Assignee: Graham Dumpleton > > In get_interpreter() function of src/mod_python.c the check of whether or not > the callback object has been created is not within the bounds of the > acquisition of the interpreters lock. As a result, in a multithreaded MPM, > although the creation of the interpreter itself is protected so that only one > thread will get to create it, multiple threads may decide the need to call > make_obcallback(). > In the past this hasn't mattered, but now that apache.init() is doing more > complicated things, such as caching parameters as global variables and also > doing fiddles with the callback object to allow optional use of new module > importer, problems can start to arise. > To fix the issue the release of the interpreters lock needs to be moved to > the end of the get_interpreter() function. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira