[ http://issues.apache.org/jira/browse/MODPYTHON-175?page=all ]
Work on MODPYTHON-175 started by Graham Dumpleton. > PSP error page accessing session object can cause a deadlock. > ------------------------------------------------------------- > > Key: MODPYTHON-175 > URL: http://issues.apache.org/jira/browse/MODPYTHON-175 > Project: mod_python > Issue Type: Bug > Affects Versions: 3.2.8 > Reporter: Graham Dumpleton > Assigned To: Graham Dumpleton > > If a session object is required for a PSP page, the session object will be > created automatically with the session being locked at the same time, when > PSP.run() is called. If an error page is generated by the session page it in > turn will then be run. The problem is that the session lock is still held by > the main page and thus if the error page itself tries to also access the > session object, when the PSP.run() method of the error page is called, it > will create a new instance of the session object which will result in a > deadlock. > In MODPYTHON-38, the suggested change was that when PSP.run() creates the > session object that it assign it back to req.session. This change was not > made, but if it was then when the error page was run, it would simply have > inherited the session object which had already been created by the main page > and a deadlock would not have ensued. > Thus could should read as: > session = None > if "session" in code.co_names: > if hasattr(req, 'session'): > session = req.session > else: > req.session = session = Session.Session(req) -- 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