Manera, Villiam
vmanera at manord.com
Fri Nov 7 12:23:34 EST 2003
I had a similar problem, not exactly I now show it but for explain: def xxx(req): sess = Session(req) ... req.sess = sess return yyy(req) def yyy(req): sess = check_sess() def check_sess(req): if hasattr(req,'sess'): sess = req.sess else: sess = Session(req) return sess this hang apache if I delete the attribut from req all work fine: def check(req): if hasattr(req,'sess'): sess = req.sess delattr(req,'sess') else: sess = Session(req) return I think in this way: class BaseSession(dict): ... def __del__(self): self.unlock() the del unlock apache where have you put the fixuphandler(req) and who call it? I'm interisting in it too Villiam -----Messaggio originale----- Da: Stian Søiland [mailto:stian at soiland.no] Inviato: venerdì 7 novembre 2003 11.37 A: mod_python at modpython.org Oggetto: [mod_python] Session instances can't be stored in req? Again with 3.1.2b.. I've gone a bit tired of creating the session objects on every page, so I made a fixuphandler to do the trick. The problem is, Apache hangs for infinity: def fixuphandler(req): # req.session = Session(req) sezz = Session(req) req.blapp = str(id(sezz)) req.blupp = sezz open("/tmp/faentosk", "w") return apache.OK Within index.py: (result is a html document) try: result.add(req.blapp) result.add(str(id(req.blupp))) result.add(str(req.sezz)) except Exception, e: result.add(str(e)) Now, if I don't save the session instance (the sezz) - everything works. If I try to store sezz in req.blupp - everything fails - the apache process hangs, the file /tmp/faentosk is never created, ie. everything stops at the previous line. I've tried making a Dummy class and instanciating it instead, sezz = Dummy() - and writing out the id in same way, works like a charm, and the id confirms that it's the same object instanciated within fixuphandler. Any tip? -- Stian Søiland Work toward win-win situation. Win-lose Trondheim, Norway is where you win and the other lose. http://www.soiland.no/ Lose-lose and lose-win are left as an exercise to the reader. [Limoncelli/Hogan] _______________________________________________ Mod_python mailing list Mod_python at modpython.org http://mailman.modpython.org/mailman/listinfo/mod_python
|