You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-dev@quetz.apache.org by "Graham Dumpleton (JIRA)" <ji...@apache.org> on 2006/03/16 05:46:03 UTC
[jira] Updated: (MODPYTHON-113) PythonImport should use
apache.import_module() and not PyImport_ImportModule().
[ http://issues.apache.org/jira/browse/MODPYTHON-113?page=all ]
Graham Dumpleton updated MODPYTHON-113:
---------------------------------------
Attachment: MP113_20060316_grahamd_1.diff
Attached "MP113_20060316_grahamd_1.diff" containing proposed changes. This also includes changes to implement MODPYTHON-118.
The problem covered by this issue needs to be addressed, but changes for MODPYTHON-118 are optional and can be left out if anyone objects.
Feedback appreciated.
> PythonImport should use apache.import_module() and not PyImport_ImportModule().
> -------------------------------------------------------------------------------
>
> Key: MODPYTHON-113
> URL: http://issues.apache.org/jira/browse/MODPYTHON-113
> Project: mod_python
> Type: Bug
> Components: core
> Versions: 3.1.4, 3.2.7
> Reporter: Graham Dumpleton
> Assignee: Graham Dumpleton
> Attachments: MP113_20060316_grahamd_1.diff
>
> When the "PythonImport" directive is used, mod_python uses the "PyImport_ImportModule()" function to import the specified module. If that same module is later imported using the "apache.import_module()" function, it will be reloaded a second time even though the Python module file hadn't changed and even if "PythonAutoReload" is set to "Off".
> This reloading can cause problems if the module when loaded using PythonImport had setup resources such as database connections etc. This is because "apache.import_module()" will effectively throw away the existing values
> and replace them. This can be an issue if the resources aren't deleted properly and hold open stuff like socket connections with those connections no longer being accessible or useable.
> The basic problem here is the mixing of standard Python import mechanism and any system implemented by mod_python. The best solution now and in the future, would be for the "PythonImport" directive to use the "apache.import_module()" function to import any modules. That way it would be ensured they always work together properly and not against each other.
> Note that this problem was previously catalogued as ISSUE 17 on my list of mod_python module importing problems. This list of problems can be found at:
> http://www.dscpl.com.au/articles/modpython-003.html
--
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