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 2007/04/05 13:38:33 UTC

[jira] Closed: (MODPYTHON-113) PythonImport should use apache.import_module() and not PyImport_ImportModule().

     [ https://issues.apache.org/jira/browse/MODPYTHON-113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Graham Dumpleton closed MODPYTHON-113.
--------------------------------------


> PythonImport should use apache.import_module() and not PyImport_ImportModule().
> -------------------------------------------------------------------------------
>
>                 Key: MODPYTHON-113
>                 URL: https://issues.apache.org/jira/browse/MODPYTHON-113
>             Project: mod_python
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.1.4, 3.2.7
>            Reporter: Graham Dumpleton
>         Assigned To: Graham Dumpleton
>             Fix For: 3.3
>
>         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.
-
You can reply to this email to add a comment to the issue online.