03-21-06 10:48 PM
[ http://issues.apache.org/jira/brows...ON-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
in
terpreter itself is protected so that only one thread will get to create it, multiple thread
s may decide the need to call make_obcallback().
> In the past this hasn't mattered, but now that apache.init() is doing more complic
ated things, such as caching parameters as global variables and also doing fiddles w
ith the callback object to allow optional use of new module importer, problems can s
tar
t to arise.
> To fix the issue the release of the interpreters lock needs to be moved to the end
of the get_interpreter() function.
[ Post a follow-up to this message ]
|